You are on page 1of 4

Metodo de Biseccion.

Mtodo de Biseccion

El Mtodo de Biseccion, conocido tambin como de corte binario, de particin en dos intervalos iguales o
mtodo de Bolzano, es un mtodo de bsqueda incremental donde el intervalo se divide siempre en dos. Si la
funcin cambia de signo sobre un intervalo, se evala el valor de la funcin en el punto medio. La posicin
de la raz se determina situndola en el punto medio del subintervalo dentro del cual ocurre un cambi de
signo. El proceso se repite hasta obtener una mejor aproximacin.
Enseguida se muestra el algoritmo para el Mtodo de Biseccion y el programa realizado en Matlab.
Algoritmo
Paso 1: Escjanse los valores iniciales xl y xu de forma tal que la funcin cambie de signo sobre el intervalo.
Esto se puede verificar asegurndose de que f(xl)f(xu) < 0.
Paso 2: La primera aproximacin a la raz xr se determina como:

Paso 3: Realice las siguientes ecuaciones y determinece en que subinteralo cae la raz:
a. si f(xl)f(xr)<0, entonces la raz se encuentra dentro del primer subintervalo. Por lo tanto, resulvase
xu=xr y contine en el paso 4.
b. si f(xl)f(xr)>0, entonces la raz se encuentra dentro del segundo subintervalo. Por lo tanto,
resulvase xl=xr, y contine en el paso 4.
c. si f(xl)f(xr)=0, entonces la raz es igual a xr y se terminan los clculos.
Paso 4: Calclese una nueva aproximacin a la raz mediante:

Paso 5: Decdase si la nueva aproximacin estn exacta como se desea. Si es as, entonces los
clculos terminan, de otra manera se regresa al paso 3.

Programa (en matlab)

%****************************************************************
%** Races de Ecuaciones **
%** Mtodo de Biseccion UdeG **
%** Maestra en Electrnica **
%** Ing. Jess Norato Valencia **

http://proton.ucting.udg.mx/~jnorato/materias/metodos/raices/biseccion/index.html[25/10/2013 12:55:50]

Metodo de Biseccion.

%** Materia: Mtodos Numricos **


%** Maestro: M.C. J.Gilberto Mateos Suarez 8/Dic/99 **
%****************************************************************
clear;
clc;
%****************************************************************
%** Se ingresan los datos de la ecuacin que deseamos **
%** conocer sus races, entre que intervalos y con que **
%** porcentaje de error. **
%****************************************************************
fprintf('\nCalculo de la raz de una ecuacion por mtodo de Biseccion\n\n');
y=input('Dame la funcin : ','s');
xl=input('Dame el intervalo inferior : ');
xu=input('Dame el intervalo superior : ');
e=input('Dame el porciento del error : ');
xi=0;
ea=100;
c=1;

%****************************************************************
%** Se hace el calculo para determinar si en los intervalos **
%** para los que se va a calcular esta comprendida la raiz **
%** de la ecuacin **
%****************************************************************
x=xl;
a=eval(y);
x=xu;
b=eval(y);
cc=a*b;
if cc>0
fprintf('\n\nLos intervalos que ha ingresado para hacer el calculo de la raiz\n\n');
http://proton.ucting.udg.mx/~jnorato/materias/metodos/raices/biseccion/index.html[25/10/2013 12:55:50]

Metodo de Biseccion.

fprintf('\nde la ecuacion no son los adecuados por no existir una raz entre \n\n');
fprintf('\nestos, Execute de nuevo el programa, por favor.\n\n');
break
end

%****************************************************************
%** Se realizan los clculos para determinar la raz en la **
%** siguiente seccion. **
%****************************************************************

while ea>e
xr=(xl+xu)/2;
x=xl;
yl=eval(y);
x=xr;
yr=eval(y);
ea=abs((xr-xi)/xr)*100;
z=yl*yr;
if z<0
xu=xr;
end
if z>0
xl=xr;
end
if z==0
fprintf('\n\n\n\nLa raz exacta es: %d',xr)
fprintf('\n\nNumero de iteraciones: %d',c);
break
end
xi=xr;

http://proton.ucting.udg.mx/~jnorato/materias/metodos/raices/biseccion/index.html[25/10/2013 12:55:50]

Metodo de Biseccion.

c=c+1;
end

%****************************************************************
%** Se imprimen resultados **
%****************************************************************

if ea<e
fprintf('\n\n\n\nLa raz exacta es: %d',xr)
fprintf('\n\nNumero de iteraciones: %d',c);
end

http://proton.ucting.udg.mx/~jnorato/materias/metodos/raices/biseccion/index.html[25/10/2013 12:55:50]

You might also like