miércoles, 25 de mayo de 2011

segunda parte.Metodo de biseccion

disp('Metodo de biseccion');
disp('Recomendacion: Usar valores reales positivos para las variables en el intervalo(a,b)');
t=input('El valor de tolerancia es:');
t=(1/10)^t;
a=input('El valor de a es:');
b=input('El valor de b es:');
fa=(log10(a))+a;
fb=(log10(b))+b;
if(fa*fb>=0);
    fprintf('Error; correr de nuevo el programa e introducir otro intervalo (a,b)');
else
    k=abs(fa-fb);
    while(t<k);
        fa=(log10(a))+a;
        fb=(log10(b))+b;
        m=(a+b)/2;
        fm=(log10(m))+m;
        if(fm*fa>0);
            a=m;
            fa=(log10(a))+a;
            k=abs(fa-fb);
        elseif(fm*fb>0);
                b=m;
                fb=(log10(b))+b;
                k=abs(fa-fb);
        end
    end
    x=(a+b)/2;
    fprintf('El valor de la raiz de F(x)=log(x)+x es x= %.5f',x);
end

No hay comentarios:

Publicar un comentario