Vous êtes sur la page 1sur 2

MTODO DE LA BISECCION

Para encontrar una solucin de f(x) = 0 dada la funcin f en el intervalo cerrado [a, b] donde f(a) y f(b)
tienen signo opuestos:

Entrada: extremos a y b; tolerancia tol; nmero mximo de iteraciones Nmax.


Salida: solucin aproximada p mensaje de fracaso.

CODIGO DE PROGRAMACIN EN PYTHON

# Metodo de Biseccion
from math import *

def f(x):
return eval(funcion)

funcion = input("Ingrese la funcin \n")

a = float(input("Ingrese el extremo inferior del intervalo de bsqueda


(a) \n"))

b = float(input("Ingrese el extremo superior del intervalo de bsqueda


(b) \n"))

tol = float(input("ingrese valor tolerancia \n"))

Nmax = int(input("Ingrese el mximo de iteraciones a realizar \n"))

i = 1

fa = f(a)
fb = f(b)

while (i <= Nmax):


p = (a + b)/2
fp = f(p)

if (abs(fp) <= tol):


print ("La raz buscada es:" +str(p))
break
if ((fa*fp)< 0):
b = p
else:
a = p

i = i + 1

print ("se ha sobrepasado el numero maximo de iteraciones")


Para ilustrar el algoritmo de biseccin, considrese el siguiente ejemplo. En este caso se termina la
iteracin cuando
| 1 |
< 104
||

Ejemplo. La funcin () = 3 3 2 + 2 1 tiene una sola raz en el intervalo [0, 3] ya que


f(0) = -1 y f(3) = 5. El algoritmo de biseccin da los valores de la tabla 1. Despus de 14 iteraciones,
podemos ver que p14 = 2.324807 aproxima a la raz p con un error de 6.66 E-05, la aproximacin es
correcta al menos con cuatro cifras significativas. El valor correcto de p con diez cifras decimales, es
p = 2.3247179572. de modo que se tiene un error en la respuesta desde la quinta cifra significativa.

Es interesante notar que desde la octava iteracin p ya se acercaba a la respuesta y desde esta iteracin
el mtodo converge lentamente, y, ms aun, una buena aproximacin intermedia puede ser desechada
sin que nos demos cuenta

n an bn pn f(pn) error
1 0 3 1.5 -1.375
2 1.5 3 2.25 -0.29688 0.333333333
3 2.25 3 2.625 1.666016 0.142857143
4 2.25 2.625 2.4375 0.532959 0.076923077
5 2.25 2.4375 2.34375 0.082611 0.04
6 2.25 2.34375 2.296875 -0.11568 0.020408163
7 2.296875 2.34375 2.3203125 -0.01871 0.01010101
8 2.3203125 2.34375 2.3320313 0.031401 0.005025126
9 2.3203125 2.3302313 2.3252719 0.002364 0.002906907
10 2.3203125 2.3252719 2.3227922 -0.0082 0.001067551
11 2.3227922 2.3252719 2.3240321 -0.00292 0.000533491
12 2.3240321 2.3252719 2.324652 -0.00028 0.000266685
13 2.324652 2.3252719 2.324962 0.001041 0.000133314
14 2.324652 2.324962 2.324807 0.00038 6.66507E-05

Vous aimerez peut-être aussi