Está en la página 1de 10

Escuela: Ing.

Civil Método de Bisección Semana 4

Método de Bisección

Algoritmo de Bisección

OBJETIVO: Hallar una raı́z α con una tolerancia ε speci-


ficada de una función f en un intervalo [a; b].

PASO 1 Encontrar un intervalo [ao; bo] ⊂ [a; b] tal que


f (ao)f (bo) < 0.

Para n = 0, 1, 2, . . . hacer los pasos 2 y 3

PASO 2 Calcular f (xn), siendo


a n + bn
xn = .
2

Si f (an)f (xn ) < 0, definir


an+1 = an
bn+1 = xn.
Si f (an)f (xn ) > 0, definir
an+1 = xn
bn+1 = bn.
1
Escuela: Ing. Civil Método de Bisección Semana 4

Si f (an)f (xn) = 0, entonces el procedimiento terminarı́a y el


xn serı́a el α buscado

PASO 3
Averiguar si se satisface la tolerancia ε especificada. Si fuese asi
se toma como solución aproximada al último xn encontrado.
Es decir

α ≈ xn .

Criterios para detener el procedimiento


Entre los criterios que se utilizan para detener el procedimiento
de bisección tenemos los siguientes:
1.
|xn − xn−1| < ε
2.
|xn − xn−1

|xn|
3.
|f (xn)| < ε
4. Fijar un número máximo de iteraciones n = M para inte-
rrumpir el procedimiento.
2
Escuela: Ing. Civil Método de Bisección Semana 4

OBSERVACIÓN : Cuando se usa el criterio 4, no se toma


en cuenta el paso 3 y repetimos el procedimiento hasta lle-
gar a obtener el número de iteraciones (M) indicado. El valor
aproximado en este caso serı́a

xM−1 .
Recuerde que en la primera iteración obtenemos xo, en la se-
gunda iteración obtenemos x1. Por tanto en la M-ésima itera-
ción obtenemos xM−1.

Ejemplo 2 con bisección


Dada la función
1 4
f (x) = x − x3 − 2
2
hacer lo siguiente:
1. Ubicar los ceros de f
2. Aplicar el método de bisección para hallar el menor cero
de f con una tolerancia de 5 × 10−4 usando el criterio
|xn − xn−1| < tol.
3. Aplicar el método de bisección para hallar el mayor cero de
f utiizando 7 iteraciones.

3
Escuela: Ing. Civil Método de Bisección Semana 4

1) Ubicación de puntos que cumplen


1 4
f (x) = x − x3 − 2 = 0.
2
Equivale a buscar los puntos en donde
1 4
f1(x) = x = x3 + 2 = f2(x).
2

α1 ∈ [−2; −1] α2 ∈ [2; 3]

50

40

30

20

10

−10

−20

−30
−3 −2 −1 0 1 2 3

.
4
Escuela: Ing. Civil Método de Bisección Semana 4

2) bisección para α1
k ak bk xk f(xk) |x_k- x_(k-1)|
0 -2.00000000000 -1.00000000000 -1.50000000000 3.90625000000 -------------
1 -1.50000000000 -1.00000000000 -1.25000000000 1.17382812500 0.25
2 -1.25000000000 -1.00000000000 -1.12500000000 0.22473144531 0.125
3 -1.12500000000 -1.00000000000 -1.06250000000 -0.16332244873 0.0625
4 -1.12500000000 -1.06250000000 -1.09375000000 0.02399492264 0.03125
5 -1.09375000000 -1.06250000000 -1.07812500000 -0.07130476832 0.015625
6 -1.09375000000 -1.07812500000 -1.08593750000 -0.02406969480 0.0078125
7 -1.09375000000 -1.08593750000 -1.08984375000 -0.00014164660 0.00390625
8 -1.09375000000 -1.08984375000 -1.09179687500 0.01190050180 0.001953125
9 -1.09179687500 -1.08984375000 -1.09082031250 0.00587290244 0.0009765625
10 -1.09082031250 -1.08984375000 -1.09033203125 0.00286399774 0.00048828125
c =
-1.090332031250000

Este valor de c corresponde al xk de la última iteración, osea


en este caso c = x10. Tenemos entonces

α1 ≈ x10.
Este x10 cumple con la tolerancia especificada, la cual es
|xk − xk−1| < 5 × 10−4.
Observe en la última columna que hemos detenido el procedi-
miento al cumplirse la condición indicada, pues
|x10 − x9| = 0,00048828125 < 5 × 10−4.
3) bisección para α2 (con 7 iteraciones)

k ak bk xk f(xk)
0 2.00000000000 3.00000000000 2.50000000000 1.90625000000
1 2.00000000000 2.50000000000 2.25000000000 -0.57617187500
2 2.25000000000 2.50000000000 2.37500000000 0.51184082031
3 2.25000000000 2.37500000000 2.31250000000 -0.06774139404
4 2.31250000000 2.37500000000 2.34375000000 0.21282243729
5 2.31250000000 2.34375000000 2.32812500000 0.07027581334
6 2.31250000000 2.32812500000 2.32031250000 0.00070625730

5
Escuela: Ing. Civil Método de Bisección Semana 4

De la tabla tenemos

α2 ≈ x6 = 2,32031250000
Definición de sucesión convergente
Dada una sucesión (xn)n∈N de números reales y a ∈ R. Dire-
mos que dicha sucesión converge hacia a si para todo ε > 0
podemos encontrar un número natural No, tal que
|xn − a| < ε, ∀n > No.

Ejemplo de sucesión convergente


La sucesión  
1
n n∈N
converge hacia 0.

Teorema
Si f es una función continua definida en [a; b] y tal que
f (a)f (b) < 0,
entonces la sucesión obtenida por el método de bisección (xn)n∈N
converge a un cero α de f en el intervalo [a; b], esto es
lı́m xn = α.
n→∞

Además
b−a
|xn − α| ≤ n+1
, ∀n ≥ 0 (1)
2
6
Escuela: Ing. Civil Método de Bisección Semana 4

Demostración
Sabemos que
bo − a o b − a
b1 − a 1 = =
2 2
b1 − a 1 b − a
b2 − a 2 = = 2
2 2
..
b−a
bn − a n = n y α ∈ [an; bn].
2
Luego
bn − a n b − a
|xn − α| ≤ = n+1 . (2)
2 2
De este modo queda demostrada la desigualdad (1).
Demostraremos ahora la convergencia. Dado ε > 0, podemos
escoger un No que pertenece a los naturales, tal que
b−a
N +1
< ε.
2 o
Luego, si n > No se tiene
b−a b−a
n+1
< No+1 < ε.
2 2
Luego, de esta y la desigualdad (2) se tiene que ∀n > No,
b−a
|xn − α| < n+1 < ε.
2
Por tanto la sucesión (xn)n∈N converge hacia α y escribimos
xn → α.
7
Escuela: Ing. Civil Método de Bisección Semana 4

Programa de bisección en Matlab u Octave

function [c] = bisec(f,a,b,tol)


%DATOS
% f es la función a la que se le va a aplicar bisección y
% es introducida como una cadena de caracteres ’f’
% a y b son los extremos del intervalo
% tol es la tolerancia para el error
%RESULTADOS
k=0;
ya=feval(f,a);
yb=feval(f,b);
if ya*yb<0
while abs(a-b)>tol
c = (a+b)/2;
yc=feval(f,c);
fprintf(’%5d%15.11f%15.11f%15.11f%15.11f\n’,k,a,b,c,yc);
k=k+1;
if ya*yc==0
a=b;
elseif ya*yc<0
b=c;yb=yc;
else
a=c;ya=yc;
end
end
else
fprintf(’Cambiar limites’);
end

8
Escuela: Ing. Civil Método de Bisección Semana 4

Ejemplo : La función
f (x) = ex − 2x − 21
tiene un cero (α) en el intervalo [3;4]. Si aplicamos el método
de bisección, determine aproximadamente cuántas iteraciones
son necesarias para resolver la ecuación f (x) = 0 con una
precisión de ε = 10−10. Es decir debe encontrar el valor de k
tal que
|xk − α| < 10−10.
Desarrollo Por el Teorema de bisección sabemos que se cum-
ple
b−a
|xn − α| ≤ n+1 , ∀n ≥ 0 (3)
2
Buscaremos un valor de n para el cual se cumple
b−a −10
< 10 (4)
2n+1
4−3 −10
< 10
2n+1
1 n+1
< 2
10−10
1010 < 2n+1
log(1010) < log(2n+1)
10 < (n + 1) log 2
10
<n+1
0,30103
32,2193 = 33,2193 − 1 < n.
9
Escuela: Ing. Civil Método de Bisección Semana 4

Como n debe ser entero, se tiene que para n ≥ 33 se cumple


(4). De (3) y (4) se tiene la siguiente desigualdad
b−a
|xn − α| ≤ n+1 < 10−10, ∀n ≥ 33.
2
Tomando los extremos en esta desigualdad se ha llegado a
demostrar que
|xn − α| < 10−10, ∀n ≥ 33.

10

También podría gustarte