viernes, 14 de noviembre de 2014

Raices de Ecuaciones MATLAB


                          
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































Algoritmo Método de Bisección (MATLAB)
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