Maple Newton-Verfahren < Maple < Mathe-Software < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 18:30 Mi 11.01.2012 | Autor: | pjapa |
Hallo Leute,
Ich muss für mein CAS Projekt das Newton-Verfahren programmieren und habe auch schon etwas im Internet dazu gefunden:
Newton := proc ()
local xa, xn;
xn := xs;
xa := xn+1; <---------- warum?
while abs(xa-xn) > 10e-6
do
xa := xn;
xn := xa-f(xa)/(D(f))(xa);
printf('Näherung [mm] %a.\n [/mm] ', xn):
end do :
end:
xs := 1.;
Newton();
Meine Frage:
Warum steht in der 4.Zeile xs=xn+1?? Habe schon die ganze zeit darüber nachgedacht und komme einfach nicht drauf. Sonst versteh ich das ganze Programm nur diese Zeile nicht.Ich hoffe ihr könnt mir dabei helfen.
PS: Ist mein erster Post hier und ich hoffe ich hab alles richtig gemacht :)
PPS: Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 18:51 Mi 11.01.2012 | Autor: | leduart |
Hallo
Du hast am Anfang der while schleife ein while abs(xa-xn)
deshalb musst du diese Differenz irgendwie größer deinen Fehler machen. da könnte auch stehen xa=xn+100 oder xa=xn-1 oder sonst was
ausser dass die while Schleife damit anfängt und nicht gleich aussteigt tut das nichts, denn nach dem echten eintritt in die schleife ist das weg. Irre inteligent ist das nicht aber jetzt kennst du den Zweck.
Wenn du ein bissel programmieren lernen willst solltest du so einfache Programme nicht im netz suchen, sondern selbständig schreiben!
gruss leduart
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 19:00 Mi 11.01.2012 | Autor: | pjapa |
Vielen Dank für deine schnelle Antwort.
Also wenn ich deine Antwort richtig verstehe heißt das, dass dieses xa:=xn+1 nur dazu da ist um die while-Schleife zu beginnen und dass danach das xn bzw xa aus der while-Schleife genommen wird um die Schleife abzubrechen?
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 19:10 Mi 11.01.2012 | Autor: | leduart |
Hallo
ja
Gruss leduart
|
|
|
|