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.
Determinar la raíz real positiva de la ecuación mostrada
f(x)=x3−x−1
f(x)=x3−x−1
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)
T=array2table(A,'VariableNames',{'a','b','xm'})
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
Publicar un comentario