You are on page 1of 5

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS

Universidad del Per, DECANA DE AMRICA


Facultad de Matemticas
Rodriguez Montaez Sandra Elena

Cd. : 12140134

METODO DE BISECCION
function biseccion
fprintf('\n')
ff=input('INGRESE LA FUNCION f(x)=','s');
a=input('INGRESE LIMITE INFERIOR:');
b=input('INGRESE LIMITE SUPERIOR:');
tol=input('INGRESE EL ERROR:');
n=input('INGRESE NUMERO DE ITERACIONES:');
fprintf('\n');
fprintf('n
a
b
Pn
f(Pn)
Error \n');
disp('==================================================================');
i=1;e=1;r=0;
while e>tol & i<=n
r=a+b/2;
x=a;fa=eval(ff);
x=b;fb=eval(ff);
x=r;fr=eval(ff);
fprintf('%2d\t%11.8f\t%11.8f\t%11.8f\t%11.8f\t',i,a,b,r,fr);
if fa*fr<=0
b=r; e=abs((r-a)/r);
fprintf('%10.8f\n',e);
else
a=r; e=abs((r-b)/r);
fprintf('%10.8f\n',e);
end
i=i+1;
end
fprintf('\n');fprintf('la Raiz es:%10.8f\n',r);
METODO DE FALSA POSICION
function falsaposicion
global fun
fprintf('Mtodo de falsa posicion:\n');
fun=input('Ingrese la funcin:\n','s');
x0=input('Ingrese el punto inicial x0:\n');
x1=input('Ingrese el punto inicial x1:\n');
tol=input('Ingrese tolerancia:\n');
it=0;
fprintf(' it
x0
x1
x2
f(x2)');
while(it<50)
it=it+1;
x=x0;
f_0=eval(fun);
x=x1;
f_1=eval(fun);
x2=(x0*f_1-x1*f_0)/(f_1-f_0);
x=x2;
f_2=eval(fun);
fprintf('\n%3.0f%12.8f%12.8f%12.8f%12.8f\n',it,x0,x1,x2,abs(f_2));
if(abs(f_2)<tol)
fprintf('el proceso se completo satisfactoriamente:\n');

break
end
if(f_0*f_2)
x0=x0;
x1=x2;
else
x0=x2;
x1=x1;
end
end
fprintf('la raiz buscada es=%15.9f\n',x2);
ezplot(fun),grid on
line([-20,0;20,0],[0,-20;0,20],'color','r')
METODO PUNTO FIJO
function puntofijo
global fun1 fun
fprintf('Mtodo del punto fijo:\n');
fun=input('Ingrese la funcin y(x):\n','s');
fun1=input('Ingrese la funcin g(x):\n','s');
x0=input('Ingrese el punto inicial:\n');
tol=input('Ingrese tolerancia:\n');
it=0;
fprintf(' it
x0
x1
abs(x1-x0)');
while(it<50)
it=it+1;
x=x0;
x1=eval(fun1);
fprintf('\n%3.0f%13.9f%13.9f%13.9f\n',it,x0,x1,abs(x1-x0));
if(abs(x1-x0)<tol)
fprintf('el proceso se completo satisfactoriamente:\n');
break
end
x0=x1;
end
fprintf('la raiz buscada es=%15.9f\n',x1)
hold on
ezplot(fun1);
ezplot(fun),grid on,axis([-5 7 -5 10])
hold off
line([-20,0;20,0],[0,-20;0,20],'color','r')

METODO NEWTON-RAPSHON
function newtonrapshon
global fun dfun
fprintf('metodo de newton:\n');
fun=input('ingrese la funcion:\n','s');
x0=input('ingrese el punto inicial:\n');
tol=input('ingrese tolerancia:\n');
dfun=diff(fun);
it=0;
fprintf('it x0
x1
abs(x1-x0)');
while(it<50)

it=it+1;
x=x0;
x1=x0-(eval(fun)/eval(dfun));
fprintf('\n%3.0f%15.9f%15.9f%15.9f\n',it,x0,x1,abs(x1-x0));
if(abs(x1-x0)<tol)
fprintf('el proceso se completa satisfactoriamente:\n');
break
end
x0=x1
end
fprintf('LA RAIZ BUSCADA ES=%15.9f\n',x1);
ezplot(fun),grid on
line([-20,0;20,0],[0,-20;0,20],'color','r')

METODO NEEWTON MODIFICADO


function newtonmodificado
global fun dfun dfun1
fprintf('Mtodo de newton modificado:\n');
fun=input('Ingrese la funcin:\n','s');
x0=input('Ingrese el punto inicial:\n');
tol=input('Ingrese tolerancia:\n');
dfun=diff(fun);
dfun1=diff(dfun);
it=0;
fprintf(' it
x0
x1
abs(x1-x0)');
while(it<50)
it=it+1;
x=x0;
f_0=eval(fun);
f_1=eval(dfun);
f_2=eval(dfun1);
x1=x0-(f_0*f_1)/((f_1)^2-f_0*f_2);
fprintf('\n%3.0f%15.9f%15.9f%15.9f\n',it,x0,x1,abs(x0-x1));
if(abs(x1-x0)<tol)
fprintf('el proceso se completo satisfactoriamente:\n');
break
end
x0=x1;
end
fprintf('la raiz buscada es=%15.9f\n',x1);
ezplot(fun),grid on,axis([0 2 -5 10]);
line([-20,0;20,0],[0,-20;0,20],'color','r')
METODO HORNER
clc
fprintf ('Calculo de una raz por el mtodo de Horner\n');
format long
Xo=input('ingrese el valor inicial\n');
Iter=input('ingrese el nmero de iteraciones\n');

Tol=input('ingrese la tolerancia que desea\n');


Fun=input('ingrese la funcion en comillas simples\n');
f=inline(Fun);
Y1=f (Xo);
Du=diff (Fun,1);
Der=inline(Du);
D=Der(Xo);
Du2=diff(Fun,2);
Der2=inline (Du2);
D2=Der2 (Xo);
Error=Tol+1;
Cont=0;
Denominador=D^2-(Y1*D2);
Z=[Cont,Xo,Y1,Error];
while Y1~=0 & Error>Tol & Cont<Iter & Denominador~=0
X1=Xo-((Y1*D)/(D^2-(Y1*D2)));
Y1=f(X1);
D=Der(X1);
D2=Der2(X1);
Error=abs((X1-Xo)/X1);
Cont=Cont+1;
Z(Cont,1)=Cont;
Z(Cont,2)=Xo;
Z(Cont,3)=Y1;
Z(Cont,4)=D;
Z(Cont,5)=D2;
Z(Cont,6)=Error;
Xo=X1;
end
if Y1==0
fprintf('X1 es raz\n');
else
if Error<Tol
fprintf('La raz es %g con un error de %g\n',X1,Error);
else
if Denominador==0
fprintf('Se est haciendo divisin por cero')
else
fprintf('Se llego al mximo de Iteraciones\n');
end
end
end
fprintf('
Xo,
X1,
Y1,
D,
Error\n');
disp(Z);
ezplot(f);

METODO SECANTE
function secante
global fun

D2,

fprintf('Mtodo de secante:\n');
fun=input('Ingrese la funcin:\n','s');
x0=input('Ingrese el punto inicial x0:\n');
x1=input('Ingrese el punto inicial x1:\n');
tol=input('Ingrese tolerancia:\n');
it=0;
fprintf(' it
x0
x1
x2
abs(x2-x1)');
while(it<50)
it=it+1;
x=x0;
f_0=eval(fun);
x=x1;
f_1=eval(fun);
x2=x1-f_1*(x0-x1)/(f_0-f_1);
fprintf('\n%3.0f%12.8f%12.8f%12.8f%12.8f\n',it,x0,x1,x2,abs(x0-x1));
if(abs(x1-x0)<tol)
fprintf('el proceso se completo satisfactoriamente:\n');
break
end
x0=x1;
x1=x2;
end
fprintf('la raiz buscada es=%15.9f\n',x2);
ezplot(fun),grid on
line([-20,0;20,0],[0,-20;0,20],'color','r')
Fin

You might also like