Numerikaufgabe < Matlab < Mathe-Software < Mathe < Vorhilfe
|
Sie stehen vor der Aufgabe die Nullstelle einer nichtlinearen Funktion F : Rn nach Rn durch
die Iteration
xk+1 = xk - F'(xk)hoch(-1) * F(xk); xk ist element Rn; k = 0; 1; 2; : : :
zu berechnen. Schreiben Sie eine lauffähige Matlab-Funktion (kein Pseudo-Code) mit dem Namen findingzero und dem Aufruf
[zero,it,Fzero] = findingzero(x0,maxIt,Tol) ,
welche die Aufgabe sinnvoll numerisch umsetzt.
Dabei sollen die obigen Variablen für:
zero berechnete Nullstelle; x0 Startwert
it benÄotigte Iterationen; maxIt maximale Iterationszahl
Fzero Funktionswert der Lösung; Tol Fehlertoleranz
stehen.
Sie können neben den Grundoperationen Äuber Subroutinen für die LU-Zerlegung
[L,U]=lu(A) einer quadratischen Matrix, zur Berechnung der Norm norm(x) und die
LÄosung linearer Gleichungssysteme mit oberer x=uptrisolve(U,b) bzw. unterer Dreiecks-
matrix x=lowtrisolve(L,b) verfügen. Die Funktion F bzw. ihre partiellen Ableitungen
dF(x)/dxi , i = 1; : : : ; n, sind Ihnen analytisch für alle x element Rn bekannt und die Funktionswerte
durch F(x) bzw. dF(i,x) abrufbar.
ich hab kein plan wie des gehen soll hab rausgefunden dass der ansatz so sein könnte:
A=F´(xk) und b= F´(xk)* xk + F(xk)
somit hat man dann A*x =b aber weiter weiss ich net und nen richtigen code bekomm ich auch net hin BITTE UM HILFE!!!
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt
Dateianhänge: Anhang Nr. 1 (Typ: pdf) [nicht öffentlich]
|
|
|
|
sau geil danke
kannst du mir auch kurz erklären was du da genau gemacht hast? danke
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 22:56 Di 17.04.2007 | Autor: | ullim |
Hi,
ich hab mal das m-File für die Nullstellen Findung kommentiert. Ich hoffe es reicht aus.
In dem F.m File ist die Funktion definiert dessen Nullstelle gesucht wird.
In dF.m ist die Jakobimatrix definiert.
Datei-Anhang
mfg ullim
Dateianhänge: Anhang Nr. 1 (Typ: m) [nicht öffentlich]
|
|
|
|
|
danke für deine mühe etz check ich, aber müsste am ende die norm von w nicht größer der toleranz sein dass er abbricht?
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 07:58 Mi 18.04.2007 | Autor: | ullim |
Hi,
> danke für deine mühe etz check ich, aber müsste am ende die
> norm von w nicht größer der toleranz sein dass er abbricht?
Die Idee, die hinter dem Abbruchkriterium steht ist die, wenn sich zwei gefundene Lösungen nicht mehr groß unterscheiden, soll die Iteration abgebrochen werden, weil zu vermuten ist, das dann auch die nächsten Lösungen sich nicht mehr wesentlich von der gefundenen unterscheiden. Ist dies der Fall, wird die momentane Lösung ausgegeben.
mfg ullim
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 08:56 Mi 18.04.2007 | Autor: | jogismile |
stimmt ich danke dir vielmals für deine bemühnungen
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 09:39 Mi 18.04.2007 | Autor: | ullim |
Hi,
da war im Abbruchkriterium doch noch ein kleiner Fehler drin, es muss dort norm(w-x)<Tol heissen.
Ich habe die Files nochmals dran gehangen
Datei-Anhang
Datei-Anhang
mfg ullim
Dateianhänge: Anhang Nr. 1 (Typ: m) [nicht öffentlich] Anhang Nr. 2 (Typ: m) [nicht öffentlich]
|
|
|
|