Você está na página 1de 2

SCRIPT PRINCIPAL:

%METODO DE NEWTON MULTIVARIABLE

clear
clc
maxite=50;
tol=0.001;
x=input('Ingrese el valor inicial de x=');
y=input('Ingrese el valor inicial de y=');
clc
fprintf('----------------------------------------------------------------
--------------------------------------------------------\n')
fprintf(' METODO DE NEWTON\n');
fprintf('itera x y F1 F2 dF1 dF2
xi1 yi1 h1 h2 D\n');
fprintf('----------------------------------------------------------------
--------------------------------------------------------\n');

for conta=1:maxite
F1=feval('enl_1',x,y);
F2=feval('enl_2',x,y);
dF1=feval('der1',x);
dF2=feval('der2',x,y);
xi1=x-(F1/dF1);
yi1=y-(F2/dF2);
h1=xi1-x;
h2=yi1-y;
D=(h1^2+h2^2)^0.5;
fprintf('%3.0f%10.4f%10.4f%10.4f%10.4f%10.4f%10.4f%10.4f%10.4f%10.4f
%10.4f%10.4f\n',conta,x,y,F1,F2,dF1,dF2,xi1,yi1,h1,h2,D);
if D>tol
x=xi1;
y=yi1;
else
break
end
end

fprintf('----------------------------------------------------------------
----------------------------------------\n');
if(conta>=maxite)
fprintf(' EL METODO NO CONVERGE\n');
else
fprintf(' LA RESPUESTA ES:%10.4f\n',xi1);
fprintf(' LA RESPUESTA ES:%10.4f\n',yi1);
end
ARCHIVO DE FUNCION: enl_1
function F=enl_1(x,y)
F=x^2-10*x+y^2+8;

ARCHIVO DE FUNCION: enl_2


function F=enl_2(x,y)
F=x*y^2+x-10*y+8;

ARCHIVO DE FUNCION: der1


function f=der1(x)
f(1)=2*x-10;

ARCHIVO DE FUNCION: der2


function f=der2(x,y)
f=2*x*y-10;

RESULTADO:

Você também pode gostar