Newtonfraktale < Matlab < Mathe-Software < Mathe < Vorhilfe
|
Status: |
(Frage) überfällig | Datum: | 19:27 So 04.02.2007 | Autor: | Mikke |
Nabend!
Also bei meiner Frage handelt es sich um Fraktale mit Hilfe des Newton-verfahrens. Dieser Algorithmus zur Bestimmung von Lösungen Gleichungen f(x)=0
[mm] f:\IR^{m}->\IR^{m} [/mm] , dass man die iteratonsvorschrift
[mm] x_{n+1}=x_{n}-Df(x_{n})^{-1} [/mm] * [mm] f(x_{n}), [/mm] n=1,2...
solange anwendet , bis der Defekt [mm] norm(x_{n+1}-x_{n} [/mm] unter einer vorgegebenen Toleranz liegt oder eine maximale Anzahl Iterationen ereicht ist- n bezeichnet dann den Interationsindex und Df(x)
die Jakobimatrix [mm] \bruch{\partial f_{i}(x)}{\partial x_{j}}_{(i,j=1,..,m)} [/mm] an der Stelle [mm] x\in \IR^{m}.
[/mm]
Jetzt kann man in Matlab wie folgt programmieren:
tol = 1e-7; %Toleranz
maxsteps=7; %max.Anzahl Iterationen
x=x0;
while defekt > tol&&steps<maxsteps
xx =x -Df(x) \ f(x);
defekt = norm (xx - x); %Defekt berechnen
x=xx;
steps=steps+1; %schritte weiterzählen
end
Jetzt meine Frage:
Wie kann ich den obigen Code zu einer Funktion NEWTON ergänzen, die nach Eingabe der Funktionshandles für die Fkt. f und der Ableitung Df sowie des Startwertes x0, die Newtoniteration durchführt und als Ergebnis [mm] x_n [/mm] sowie die Anzahl benötiger Schritte zurückgibt. Für die Paramerter tol und maxiter des Verfahrens kann man die obigen Werte nehmen.
Hoffe ihr könnt mir hier helfen und mir zeigen wie das geht.
Danke und Gruß Mikke
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 20:20 Di 06.02.2007 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|