martes, 17 de abril de 2012

Método de Bisección en Python 3.x

Método de biseccion realizado en Python 3.x. Con algunas modificaciones puede correr en la verción 2.x de python.

#Realizado en python 3.x
from math import sin,cos,tan,asin,acos,atan,sqrt,log,exp
from math import sinh,cosh,tanh,asinh,acosh,atanh
print('Metodo de Bisseccion\n')
ec=input('De la funcion a resolver: ')  
x1=float(input('de el extremo inferior del intervalo aproximado: '))
x2=float(input('de el extremo superior del intervalo aproximado: '))
errordeseado=float(input('De el error deseado: '))
 

def f(x):
    return eval(ec)

 
while True:
    xmed=(x1+x2)/2
    fxmed=f(xmed)
    if fxmed==0.0:
        break
 
    if (f(x1)*f(xmed))<0:
        x1=x1
        x2=xmed
    else:
        x1=xmed
        x2=x2
    error=abs(x2-x1)
    if error<errordeseado:
        break
 

print ('La raíz es',xmed)
input(' ')
                                                Una muestra que el programa funciona.

No hay comentarios:

Publicar un comentario