Todo lo que necesitas saber sobre el método de Bisección

Definición de Wikipedia

En matemáticas, el método de bisección es un algoritmo de búsqueda de raíces que trabaja dividiendo el intervalo a la mitad y seleccionando el subintervalo que tiene la raíz.

Este es uno de los métodos más sencillos y de fácil intuición para resolver ecuaciones de una variable, también conocido como Método de Intervalo Medio.1​ Se basa en el teorema del valor intermedio (TVI), el cual establece que toda función continua  en un intervalo cerrado  toma todos los valores que se hallan entre  y . Esto es que todo valor entre  y  es la imagen de al menos un valor en el intervalo . En caso de que  y  tengan signos opuestos, el valor cero sería un valor intermedio entre  y , por lo que con certeza existe un  que cumple . De esta forma, se asegura la existencia de al menos una solución de la ecuación .

Definición simple

es un método para determinar las raíces de una ecuación. De forma que en un intervalo [a,b] existe un valor x tal que F(x) = 0.

Implementación en MATLAB

Determinar la raíz real positiva de la ecuación mostrada
f(x)=x3x1
clear; close all; clc
syms x
fx=x^3-x-1;
fplot(fx,[-2,4],'LineWidth',2)
xlabel('x'); ylabel('y')
title('Metodo de Biseccion');
grid on

Condiciones iniciales

Este método requiere que al evaluar f(x) en [x1,x2] se tengan signos diferentes
a=input('Intervalo inferior: ');
b=input('Intervalo superior: ');
fi=subs(fx,a);
fs=subs(fx,b);
while sign(fi)==sign(fs)
a=a-1;
b=b+1;
fi=subs(fx,a);
fs=subs(fx,b);
end

Solución

Para realizar el procedimiento iterativo y encontrar la raíz real de la ecuación nos auxiliaremos con el bucle while y el condicional if
%variables auxiliares
E=1; e=0.0001; A=zeros(2,3);
i=1;
while E>e
A(i,1:2)=[a b];
xm=0.5*(a+b);
fp=subs(fx,xm);
if fi*fp<0
b=xm;
else
a=xm;
end
E=abs(xm-0.5*(a+b));
A(i,3)=0.5*(a+b); %Nuevo valor de xm
i=i+1;
end
x=['La raiz es xm= ' num2str(A(end,3))];
disp(x)
La raiz es xm= 1.3248
T=array2table(A,'VariableNames',{'a','b','xm'})
T = 13×3 table
a b xm ______ ______ ______ 1 2 1.25 1 1.5 1.375 1.25 1.5 1.3125 1.25 1.375 1.3438 1.3125 1.375 1.3281 1.3125 1.3438 1.3203 1.3125 1.3281 1.3242 1.3203 1.3281 1.3262 1.3242 1.3281 1.3252 1.3242 1.3262 1.3247 1.3242 1.3252 1.325 1.3247 1.3252 1.3248 1.3247 1.325 1.3248
Se agrega la raíz aproximada por este método en la gráfica
hold on
plot(A(end,3),0,'rd','MarkerSize',6)
legend({'f(x)','Raiz aproximada'},'Location','northwest')

Tutoriales de apoyo: 

Comentarios

Entradas populares de este blog

¿Qué es MATLAB?