Nullstellenberechnung < Matlab < Mathe-Software < Mathe < Vorhilfe
|
Status: |
(Frage) überfällig | Datum: | 17:58 Mo 16.02.2015 | Autor: | skip |
Aufgabe | Berechnung der Nullstellen mit dem Newton-Verfahren |
Hallo,
ich möchte mit folgendem Code die Nullstellen mit dem Newton Verfahren berechnen. Bin ein Anfänger in Matlab und komme nicht weiter.
Laut Matlab ist der Fehler bei xtemp bzw. ytemp.
Wäre super wenn mir jemand weiter helfen könnte?
function [ x ] = newton( x0,y0,TOL,NMax,fun,dfun )
%UNTITLED Berechnung der Nullstellen
%Zu übergebende Parameter:
%fun: Funktion
%dfun: Ableitung der Funktion
%x0: Startwert x
%y0: Startwert y
%TOL: Toleranz
%NMax: maximale Anzahl Iterationsschritte
%Rückgabe:
%x: approximierte Nullstelle
%fx: Funktionswert an Stelle x
%k: Anzahl benötigter Iterationen
x=x0;
y=y0;
k=0;
a=1+TOL;
while a>TOL && k<NMax
xtemp=-((dfun(x,y))^-1)*fun(x,y)+x;
ytemp=-((dfun(x,y))^-1)*fun(x,y)+y;
a=norm(xtemp-x);
x=xtemp;
y=ytemp;
k=k+1;
end
disp('Nullstelle der Funktion nach Annäherung bei')
disp(x) % Ergebnis
disp('Nach Anzahl der Durchläufe : ')
disp(k) % Durchlauf
end
Mit diesem Code möchte ich die Funktion befüllen:
[mm] fun=@(x,y)[x^2+y^2+0.6*y-0.16; x^2-y^2+x-1.6*y-0.14];%Funktionen [/mm] gemäss Aufgabe
dfun=@(x,y)[2*x+2*y+0.6; 2*x-2*y+1-1.6];%Abgeleitete Funktionen
x0=0.6 ;%Startvektor x der Iteration [ ]
y0=0.25;%Startvektor y der Iteration [ ]
TOL=10^-6;%gewünschte Toleranz
NMax=20;%maximale Anzahl der Iterationen
[ x ] = newton( x0,y0,TOL,NMax )%Vorgegebene Matlab-Funktion Newton Iteration
Vielen Dank schon mal!
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 18:20 Fr 20.02.2015 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|