El Método de Bisección consiste en suponer dos valores x0 y x1 , que forman un segmento, en dicho segmento se debe encontrar la raíz. Se divide el segmento por la mitad encontrando un nuevo x2, se repite este procedimiento hasta que f(x2) sea aproximadamente 0.
A continuación el código en Python para este método.
__author__ = 'jboris' ERROR = 1E-6 #Entradas ec = raw_input('f(x):') x0 = float(raw_input('x0:')) x1 = float(raw_input('x1:')) #Proceso f0 = eval(ec, {'x': x0}) #f(x0) f1 = eval(ec, {'x': x1}) #f(x1) f2 = 1E10 if f0 * f1 < 0: while abs(f2) > ERROR: x2 = (x0 + x1) / 2 f2 = eval(ec, {'x': x2}) #f(x2) if f1 * f2 < 0: x0 = x2 if f0 * f2 < 0: x1 = x2 respuesta = {'x': x2} else: respuesta = 'Datos incorectos' #Salidas print respuestaEl código se puede descargar aquí.
Los invito a programar el método en el lenguaje de programación que más les guste y comparar los tiempos de ejecución con Python. Espero las comparativas en los comentarios. Saludos.
No hay comentarios:
Publicar un comentario