Newton-Methode in Matlab/Octave

31/10/2009 - 21:19 von Thomas Plehn | Report spam
http://www.gnu.org/software/octave/...y-its-Name

Kann mir mal jemand erklàren, wie diese Implementierung mit nur einem
Funktionsaufruf pro Iteration auskommt? Ich dachte immer so etwas ginge
nicht, weil schon der Differenzenquotient zwei Aufrufe benötigt. Und wie
kann man plötzlich einen Funktionswert aus dem letzten Differenzenquotient
für den nàchsten verwenden, wo die Werte doch ganz woanders liegen?
 

Lesen sie die antworten

#1 Roland Damm
31/10/2009 - 23:02 | Warnen spam
Thomas Plehn wrote:

http://www.gnu.org/software/octave/...nction-by-


its-Name.html#Calling-a-Function-by-its-Name

Kann mir mal jemand erklàren, wie diese Implementierung mit nur einem
Funktionsaufruf pro Iteration auskommt? Ich dachte immer so etwas ginge
nicht, weil schon der Differenzenquotient zwei Aufrufe benötigt. Und wie
kann man plötzlich einen Funktionswert aus dem letzten Differenzenquotient
für den nàchsten verwenden, wo die Werte doch ganz woanders liegen?



Einfache Antwort: Der Algorithmus ist falsch.

Allerdings könnte man...
Man muss ja eine Ableitung berechnen, die kann man ja nàherungsweise aus den
letzten beiden Funktionsaufrufen ermitteln. Im Programm müsste man dazu
ergànzen:

hinter
deriv=...
einfügen:
x_old=x;
und hinter fx = ...
delta = x - x_old;

Das Programm so wie es ist, berechnet zwar Ableitungen mit den richtigen
Funktionswerten, aber mit dem falschen delta, nàmlich dem immer gleichen.

Ob der modifizierte Algorithmus nach meinem Vorschlag allerdings noch
sonderlich an Newton erinnert und wie er sich verhàlt, weiß ich nicht,
ungetestet. Besonders gut wird er nicht sein.

CU Rollo

Ähnliche fragen