Páginas

algoritmo de newton

clc
clear all
syms x y
f1=x*x+y*y-1
f2=x^2-y^2+0.5
df1x=diff(f1,x);
df1y=diff(f1,y);
df2x=diff(f2,x);
df2y=diff(f2,y);


A=[df1x df1y;df2x df2y];
B=[f1;f2];
sol=[x;y]-inv(A)*B;
x=1;
y=3;
error=20;
tolerancia=0.01
fprintf('%15.3f ,%15.3f\n ',x,y)
disp(' n x y error')
disp('------------------------------------------------------------------')
n=-1;
while error>tolerancia
n=n+1;
x1=eval(sol(1));
y1=eval(sol(2));
error=((x1-x)^2+(y1-y)^2)^0.5;
fprintf('%15.0f %15.7f %15.7f %15.7f \n ',n,x,y,error)
x=x1;
y=y1;
end