Está en la página 1de 6

Método de la bisección

Se ha visto en el método grafico que la función cambia de signo en la vecindad de una raíz.

De forma general,si f(x) es real y continua en el intervalo que va desde xl hasta xu y f(xl) y f(xu)
tienen signos opuestos.

f(xl)*f(xu)<0

entonces hay al menos una raíz real entre xl y xu,el método de la bisección también se le conoce
como corte binario,de partición de intervalos o de Bolzano.

Este método es un tipo de búsqueda incremental en que el intervalo se divide siempre a la


mitad.Si la función cambia de signo sobre un intervalo se evalua el valor de la función en el punto
medio del subintervalo,dentro del cual ocurre un cambio de signo.Este proceso se repite hasta
tener una mejor aproximación.

Graficamente:

F(x)=0 y que esta definido en [xl,xu] que sea continua f(xl) y f(xu) deben tener signos opuestos
Procedimiento para el método de la biseccion:

Paso1.Elegir el valor inicial inferior xl y superior xu,que encierre una raíz.Evaluar la función f(xl) y
f(xu) de tal forma que cambie de signo en el intervalo.

f(xl)*f(xu)<0

Paso2.Se determina una raíz aproximada xr mediante:


Xr=xl+xu/2

Paso3.Realizar las siguientes evaluaciones para determinar en que subintervalo esta la raíz
a)si f(xl)*f(xu)<0 la raíz se encuentra dentro del subintervalo inferior o izquierdo,por lo
tanto hacer xu=xr y regrese al paso 2

b)si f(xl)*f(xr)>0la raíz se encuentra dentro del subintervalo superior o derecho,por lo


tanto hacer xl=xr y volver al paso 2

c)si f(xl)*f(xr)=0la raíz es igual a xr y termina el calculo

Como control del proceso iterativo podemos usar el error relativo porcentual

𝑥𝑟 𝑛𝑢𝑒𝑣𝑜 − 𝑥𝑟 𝑎𝑛𝑡𝑒𝑟𝑖𝑜𝑟
∈𝑎 = | | ∗ 100
𝑥𝑟 𝑛𝑢𝑒𝑣𝑜

∈𝑠 =(0.5 ∗ 102−𝑛 )%  ∈𝑎 ≤∈𝑠


Ejemplo:

Usar el método de la biseccion para calcular la raíz de f(x)=ℯ −𝑥 − 𝑥 ,en el intervalo [0,1],con una
aproximación de 4 cifras.

Solución:

clear all
clc
format short
function
disp('raiz de la ecuacion no lineal')
y=funcion(x)
disp('metodo cerrado de la biseccion')
y=exp(-x)-x;
n=input('ingrese cifras significativas=');
end
xl=input('ingrese valor inferior del intervalo=');
xu=input('ingrese valor superior del intervalo=');
es=0.5*10^(2-n);
ea=100;
xr=0;
i=0;
while ea>es
xa=xr;
xr=(xl+xu)/2
if (funcion(xl)*funcion(xr)<0)
xu=xr;
ea=abs((xr-xa)/xr)*100;
elseif (funcion(xl)*funcion(xr)>0)
xl=xr;
ea=abs((xr-xa)/xr)*100;
end
i=i+1;
end
fprintf('raiz de la ecuacion: %12.5f \n',xr)
fprintf('error aproximado: %12.5f \n',ea)
fprintf('numero de iteraciones: %12.0f\n',i)
Método de la regla falsa

Este método consiste en unir f(xl) y f(xu) con una línea recta, la intersección de esta línea recta con la abscisa nos da una
raíz aproximada a la solución exacta,también se le conoce como el método de interpolación lineal.

Por semejanza de triángulos :

𝑓(𝑥𝑙) 𝑓(𝑥𝑢)
=
𝑥𝑟 − 𝑥𝑙 𝑥𝑟 − 𝑥𝑢

𝑓(𝑥𝑢)(𝑥𝑙−𝑥𝑢)
Xr=xu - 𝑓(𝑥𝑙)−𝑓(𝑥𝑢)

F(xl) y f(xr)

()Xl=xr ;xu=xr()

Ejemplo:resolver la ecuación f(x)=ℯ −𝑥 − 𝑥 con el método de la regla falsa ,con el intervalo [0,1],n=4 cifras significativas

clear all
clc
disp('solucioon ecuacion no lineal')
disp('metodo cerrado regla falsa')
n=input('ingrese numero de cifras significativas=');
xl=input('ingrese el valor del intervalo inferior=');
xu=input('ingrese valor dle intervalo superior');
es=0.5*10^(2-n);
ea=100;
xr=0;
i=0;
while ea>es
xa=xr;
xr=xu-(funcion(xu)*(xl-xu))/(funcion(xl)-funcion(xu));
if (funcion(xl)*funcion(xr)<0)
xu=xr;
ea=abs((xr-xa)/xr)*100;
elseif (funcion(xl)*funcion(xr)>0)
xl=xr;
ea=abs((xr-xa)/xr)*100;
end
i=i+1;
end
fprintf('raiz obtenida: %12.8f\n',xr)
fprintf('error aproximado: %12.8f\n',ea)
fprintf('numero de iteraciones: %12.8f\n',i)

También podría gustarte