Newtonsche Näherungsverfahren < Analysis < Hochschule < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 23:06 Di 02.11.2004 | Autor: | nessa |
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.
Ich habe die Aufgabe ein Programm zu schreiben das die wurzel aus x nach dem Newtonsche Näherungsverfahren berechnet mein Problem dabei ist dass ich keine Ahnung habe was dieses Verfahren ist. Ich wäre euch sehr dankbar wenn ihr mir mal eine Aufgabe vorrechnen könntet. Folgendes hat der Prof. dazu bekannt gegeben:
Das Newtonsche Näherungsverfahren berechnet die Quadratwurzel x aus einer vorgegebenen positiven Zahl in folgenden Schritten:
Es wird eine beliebige Anfangslösung x0 und eine zu erreichende Genauigkeit d vorgegeben.
Eine bessere Lösung erhält man nach der Formel:
[mm] X=\bruch{1}{2}(X0+\bruch{a}{X0})
[/mm]
Ist [mm] |\bruch{X-X0}{X0}|
Verfahren kann abgebrochen werden.
Das Programm soll also nach der Eingabe von X0,d und a die wurzel aus x berechnen, ihr könnt diese 3 Variablen jetz beliebig belegen ich will ja nur mal ein Beispiel
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 23:43 Di 02.11.2004 | Autor: | Paulus |
Hallo Nessa
der einzige Trick ist doch der, dass, falls das Ergebnis noch zu ungenau ist, die Variable $X_$ nach $X0_$ übertragen wird.
Das könnte also etwa so programmiert werden:
Lies d ein
Lies a ein
X := 1
repeat
X0 := X
X := (X0 + a / X0) / 2
until abs ((X - X0) / X0) < d
Gib X aus
Das würde bei jedem Durchlauf die folgenden Werte für x liefern (a=10):
5.5
3.65909090909091
3.19600508187465
3.16245562280389
3.16227766517568
3.16227766016838
Kannst du das jetzt umsetzen?
Mit lieben Grüssen
Paul
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 11:09 Mi 03.11.2004 | Autor: | nessa |
Danke Paulus
Es ist mir jetz ein wenig klarer auch wenn ich dich leider darauf hinweisen muss dass ein kleiner Fehler in deinem programmiervoeschlag ist aber das Programmieren war ja auch nicht das Problem.
Die Aussage das X zu X0 wird hat mir sehr geholfen DANKE SCHÖN!!!
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 16:59 Do 04.11.2004 | Autor: | nessa |
Nee ich habe bemerkt das du dein Programmvorschlag in Pascal oder etwas ähnlichem verfasst hast ich programmiere aber in C++ so gesehen hast du keine Fehler gemacht da ich das nicht berücksichtigt habe und nochmals danke an dich auch für die schnelle Antwort.
|
|
|
|