UNIVERSIDAD TÉCNICA
ESTATAL DE QUEVEDO
FACULTAD CIENCIAS DE LA INGENIERÍA
ESCUELA DE INFORMÁTICA
CARRERA INGENIERÍA EN SISTEMAS
TEMA
RAICES DE ECUACIONES POR LOS DIFERENTES MÉTODOS
ALUMNO:
HIDALGO REYES CARLOS
DOCENTE:
ING. CARLOS MARQUEZ DE LA PLATA
2014
function [raiz,sal]=biseccion(ecu, x1,x2,tol,iter_max)
f= inline(ecu);
iter=0;
if f(x1)* f(x2) < 0
xm = x1;
while abs (f(xm)) > tol
xm= (x1+x2)/2;
iter=iter+1;
if f(x1)*f(xm) < 0
x2= xm;
else
x1= xm;
end
end
if iter <= iter_max
raiz= xm;
sal=iter;
else
raiz= 'No se encuentra la raíz';
sal='Error!! No convergen';
end
else
raiz= 'No existe cambio de signo';
sal='Error!!';
end
Algoritmo Método de Falsa Posición (MATLAB)
function [raiz,sal]=falsa_pos(ecu, xi,xu,tol,iter_max)
f= inline(ecu);
iter=0;
if f(xi)* f(xu) < 0
xm = (xu*f(xi)- xi*f(xu))/(f(xi)-f(xu));
error=abs (f(xm));
while error > tol
xm = (xu*f(xi)- xi*f(xu))/(f(xi)-f(xu));
if f(xi)*f(xm) < 0
xu=xm;
else
xi=xm;
end
error=abs (f(xm));
iter=iter+1;
end
if iter <= iter_max
raiz= xm;
sal=iter;
else
raiz= 'No se encuentra la raíz';
sal='No convergen...';
end
else
raiz= 'No existe cambio de signo';
sal='Error!!';
end
Algoritmo Método de Punto Fijo (MATLAB)
function [raiz,sal]=punto_fij(ecu,ecu_desp, x0,tol,iter_max)
f=inline(ecu);
g=inline(ecu_desp);
Yn=f(x0);
Error=tol+1;
Cont=0;
while Yn~=0 & (Error>tol & Cont<iter_max)
Xn=g(x0);
Yn=f(Xn);
Error=abs((Xn-x0)/Xn);
Cont=Cont+1;
x0=Xn;
end
if Yn==0
raiz=x0;
sal=Cont-1;
else
if Error<tol
raiz=x0;
sal=Cont-1;
else
raiz='No se encuentra la raíz';
sal='No convergen...';
end
end
Algoritmo Método de Newton (MATLAB)
function [raiz,sal,derv]=newton(ecu,x0,tol,iter_max)
f=inline(ecu);
syms x
der = diff(ecu,x);
fd= inline(der);
error= 50;
iter=0;
while error > tol && iter<=iter_max
iter=iter+1;
x0= x0 - f(x0)/ fd(x0);
error = abs( f(x0));
end
if error < tol
raiz=x0;
sal=iter;
derv=der;
else
raiz= 'No se encuentra la raíz';
sal='No convergen...';
derv=der;
end
No hay comentarios:
Publicar un comentario