Está en la página 1de 2

CODIGO MATLAB MTODO DE NEWTON INPUT

%METODO DE NEWTON
clc %permite borrar el area de trabajo
clear
%permite borrar las variables almacenadas
fprintf(' METODO DE NEWTON\n\n\n');
%fprintf me permite ingresar comentarios de manera textual que pueden
%orientar al usuario en el uso del programa
format long;
%format long permite utilizar la mxima capacidad del computador
Xo=input ('ingrese el valor inicial\n');
Iter=input ('\ningrese el nmero de iteraciones\n');
Tol=input ('\ningrese la tolerancia que desea\n');
F=input ('\ningrese la funcin en comillas simples\n');
%input es un comando de solicitud de entrada de datos del usuario.
f=inline(F);
%El comando inline permite hacer la asignacin posterior de variables
%en una funcin.
Y1=f(Xo);
Derivada=diff(F)
%El comando diff permite calcular la derivada de una funcin.
Der=char(Derivada);
%regresa los valores a texto
D=inline(Der);
%inline, permite asignar a una funcin el valor de una variable.
De=D(Xo);
%Se evala la derivada en la X inicial, y as saber si es adecuada
%para ejecutar el resto del mtodo, es decir si es diferente de cero.
Error=Tol+1;
Cont=0;
Z1= [Cont, Xo, Y1, De, Error];
%Z es una matriz la cual permitira observar lo datos como una tabla a
%la finalizacion del programa
%La sentencia While ejecuta todas las rdenes mientras la expresin
%sea verdadera.
Z= [Cont, Xo, Y1, De, Error];
while Y1~=0 & Error>Tol & Cont<Iter & De~=0
X1=Xo-(Y1/De);
Y1=f(X1);
De=D(X1);
Error=abs((X1-Xo)/X1);
Cont=Cont+1;
Z(Cont,1)=Cont;
Z(Cont,2)=Xo;
Z(Cont,3)=Y1;
Z(Cont,4)=De;
Z(Cont,5)=Error;
%las z son las posiciones asignadas en la tabla a los resultados que
%se observarn

Xo=X1;
end
if Y1==0
fprintf('\n\nSOLUCION:\n')
fprintf('%g es raz\n\n',Xo);
else
if Error<Tol
fprintf('\n\nSOLUCION:\n')
fprintf( '%g es una aproximacion a una raz con una tolerancia %g
\n\n',Xo,Tol)
else
if De==0
fprintf('\n\nSOLUCION:\n')
fprintf('Se esta haciendo divisin por cero y Xo posiblemente es una
raiz multiple\n\n')
else
fprintf('\n\nSOLUCION:\n')
fprintf('Fracaso en %g iteraciones\n\n',Iter);
end
end
end
fprintf('TABLA\n\n Cont Xn f(Xn) f(Xn)
disp(Z1);
disp(Z);

Error relativo\n\n');

%La funcion disp permite visualizar la tabla, obtenida de los


%resultados de la secuencia while
ezplot(f);
%El comando ezplot permite grafica una funcin.
grid on
%grid on permite observar una cuadricula en la grafica de la funcion.

También podría gustarte