Newton-Raphson-Methode in Matlab

Ich bin neu in Matlab und muss eine Funktion erstellen, die n Iterationen der Newton-Raphson-Methode mit der Startnäherung x = a ausführt. Diese Anfangsnäherung zählt nicht als Interaktion, und eine weitere Anforderung besteht darin, dass eine for-Schleife erforderlich ist. Ich habe andere ähnliche Fragen angeschaut, aber in meinem Fall möchte ich keine while-Schleife verwenden.

Das sollen meine Eingaben sein:

mynewton(f,a,n) which takes three inputs: 
f: A function handle for a function of x.
a: A real number.
n: A positive integer.

Und hier ist mein Code so weit.

function r=mynewton(f,a,n)
syms x;
z=f(x);
y=a;
for i=1:n    
    y(i+1)=y(i)-(z(i)/diff(z(i)));
end
r=y
end

Wenn ich versuche, die Funktion aufzurufen, erhalte ich die Fehlermeldung:

Error in MuPAD command: DOUBLE cannot convert the input expression into a double    array.
If the input expression contains a symbolic variable, use the VPA function instead.
Error in mynewton (line 6)
y(i+1)=y(i)-(z(i)/diff(z(i)));

Die Frage ist Wie verwende ich diese VPA-Funktion? Zugegeben, der Rest meines Codes ist wahrscheinlich auch nicht 100% korrekt, aber jede Hilfe, die das VPA-Problem behebt oder die anderen Teile meines Codes behebt, wäre sehr dankbar.

Vielen Dank!

Antworten auf die Frage(2)

Ihre Antwort auf die Frage