Newton Verfahren < Matlab < Mathe-Software < Mathe < Vorhilfe
|
Aufgabe | Implementieren Sie in Matlab das Newton-Verfahren für nicht-lineare Gleichungssysteme mit F( [mm] x_{1}, x_{2}) [/mm] = 0 jeweils für (je 10 Punkte):
a) die gegebene Funktion
F(x,y) = [mm] \vektor{f_{1}(x,y) \\ f_{2}(x,y)}
[/mm]
mit
[mm] f_{1} [/mm] = [mm] x^{2} [/mm] + [mm] y^{2} [/mm] + y - 1 = 0
[mm] f_{2} [/mm] = [mm] x^{2} [/mm] - [mm] y^{2} [/mm] + x - y - 2 = 0
mit dem Startwert [mm] x_{0} [/mm] = (0; 0).
b) die Funktion
F( [mm] x_{1}, x_{2}) [/mm] = [mm] \vektor{f_{1}( x_{1}, x_{2}) \\ f_{2}( x_{1}, x_{2})}
[/mm]
wobei
[mm] f_{1}( x_{1}, x_{2}) [/mm] = [mm] x_{1}sin(x_{2}) [/mm] - [mm] x_{1}x_{2}cos(x_{2}) [/mm] - 1
[mm] f_{2}( x_{1}, x_{2}) [/mm] = [mm] x_{1}cos(x_{2}) [/mm] + [mm] x_{1}x_{2}sin(x_{2}) [/mm] - [mm] x_{1} [/mm] - 1
Beginnen Sie mit dem Startwert (2, 1.2).
Berechnen Sie bei a) und b) jeweils die ersten 5 iterierten Schritte [mm] x^{1}.....x^{5}. [/mm] Das Aufrufverfahren
für Newton soll dabei die folgende Form haben:
Hinweis: Die Funktion und die Jacobi-Matrix implementiert man am besten als seperate Funktionen
z.B
function wert = F(x) function wert = dF(x)
wert(1) = ... wert(1,1) = ... [mm] df_{1} [/mm] / [mm] dx_{1} [/mm] bis
wert(2) = ... wert(2,2) = ... [mm] df_{2} [/mm] / [mm] dx_{2} [/mm] |
Hallo,
wir haben diese Aufgabe auf einem Übungsblatt gestellt bekommen. Leider habe ich noch nie mit Matlab gearbeitet und habe deswegen auch nicht die geringste Ahnung wie dieses Problem zu lösen ist. Ich hoffe, dass mir hier irgendjemand helfen kann, dies zu lösen.
Vielen Dank im Voraus
Gruß
Mario
-------------------------------------------------
Ich habe diese Frage in keinem anderen Forum im Netz gestellt.
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 14:20 Fr 09.06.2006 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|
|
Status: |
(Frage) reagiert/warte auf Reaktion | Datum: | 16:18 Mo 15.06.2009 | Autor: | toggo.fan |
Hallo :)
Ist ja witzig ;)
Wir haben jetzt fast genau dieselbe Aufgabe gestellt bekommen (zumindest den a)-Teil) und ich habe genauso wenig Ahnung wie du damals :)
Hast du denn mittlerweile eine Lösung für die Aufgabe? Und wenn ja, kannst du mir dann weiter helfen?
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 19:16 Mo 15.06.2009 | Autor: | Frasier |
Zu Aufgabe 1:
1: | f1=@(x,y) x^2+y^2+y-1;
| 2: | f2=@(x,y) x^2-y^2+x-y-2;
| 3: |
| 4: | f1x=@(x) 2*x;
| 5: | f1y=@(y) 2*y+1;
| 6: | f2x=@(x) 2*x+1;
| 7: | f2y=@(y) -2*y-1;
| 8: |
| 9: | x=[0;0];
| 10: | i=0;
| 11: | epsilon=1e-6
| 12: | while norm([f1(x(1),x(2));f2(x(1),x(2))]) > epsilon
| 13: | sol=[f1x(x(1)),f1y(x(2));f2x(x(1)),f2y(x(2))]\-[f1(x(1),x(2));f2(x(1),x(2))];
| 14: | x(1)=x(1)+sol(1);
| 15: | x(2)=x(2)+sol(2);
| 16: | disp(['Iteration: ' num2str(i)]);
| 17: | disp(['Lösung : ' num2str(x','%1.7f\t')]);
| 18: | i=i+1;
| 19: | end |
Kommt ihr damit weiter?
lg
F.
|
|
|
|