Mit MATLAB eine Funktion schreiben, die Newtons Methode in zwei Dimensionen implementiert
Ich versuche, eine Funktion zu schreiben, die Newtons Methode in zwei Dimensionen implementiert, und während ich dies getan habe, muss ich jetzt mein Skript so anpassen, dass die Eingabeparameter meiner Funktion f (x) in einem Spaltenvektor, der Jacobian-Matrix, sein müssen vonf(x)
, die anfängliche Vermutungx0
und die Toleranz wo die Funktionf(x)
und die Jacobi-Matrix befinden sich in separaten .m-Dateien.
Als Beispiel für ein Skript, das ich geschrieben habe und das Newtons Methode implementiert, habe ich:
n=0; %initialize iteration counter
eps=1; %initialize error
x=[1;1]; %set starting value
%Computation loop
while eps>1e-10&n<100
g=[x(1)^2+x(2)^3-1;x(1)^4-x(2)^4+x(1)*x(2)]; %g(x)
eps=abs(g(1))+abs(g(2)); %error
Jg=[2*x(1),3*x(2)^2;4*x(1)^3+x(2),-4*x(2)^3+x(1)]; %Jacobian
y=x-Jg\g; %iterate
x=y; %update x
n=n+1; %counter+1
end
n,x,eps %display end values
Also hatte ich mit diesem Skript die Funktion und die Jacobi-Matrix in das eigentliche Skript implementiert und ich habe Mühe, herauszufinden, wie ich tatsächlich ein Skript mit den erforderlichen Eingabeparametern erstellen kann.
Vielen Dank!