MÉTODO DE LA BISECCIÓN

function BISECCION
global fun
fprintf(‘\t\tmetodo de biseccion\n’);
fun=input(‘ingrese funcion:’,‘s’);
a=input(‘ingrese valor inferior del intervalo:’);
b=input(‘ingrese valor superior del intervalo:’);
tol=input(ingrese la tolerancia:’);
it=0;
x=a;
f_a=eval(fun);
x=b;
f_b=eval(fun);
if (f_a*f_b>0)
    fprintf(‘\t\ten este intervalo no hay raices\n’);
    fprintf(‘\t\tbuscar otro intervalo\n’);   
   return
else
    n=ceil(log((b-a)/tol)/log(2));
    fprintf(‘n=%10.6f\n’,n)
    fprintf(‘it a b c f(a) f(b) f(c) abs(b-a)/2\n’);
    while 1
        it =it+1;
        c=(a+b)/2;
        x=c;
        f_c=eval(fun);
        fprintf(‘%5.0f %10.9f %10.9f %10.9f %10.9f %10.9f %10.9f %10.9f\n’,it,a,b,c,f_a,f_b,f_c,abs(b-a)/2);
        if(abs(b-a)/2<=tol)
            fprintf(‘\n satisface la tolerancia\n’);
            break
        end
        if(it>n)
            fprintf(‘numero de iteraciones exedido’);
            break
        end
        if(f_c*f_b<=0)
            a=c;
            f_a=f_c;
        else
            b=c;            f_b=f_c;
        end
    end
    fprintf(‘la raiz pedida es=%10.6f\n’,c);
    fprintf(‘la tolerancia es=%10.6f\n’,abs(b-a)/2);
   ezplot(fun)

end

 

 Ejemplo: Sea la función F(x)=x^3-x+1  analice y determine las raíces en el intervalo [-2,0], grafique 

Ejecutando  el  programa  MATLAB
METODOS NUMÉRICOS\BISECCION

Click en la imagen para agrandar

Metodo Biseccion

Grafica

About these ads

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

A %d blogueros les gusta esto: