Estimados amigos:
En un Curso me asignaron esta tarea:
"Programar el Método de la Secante (uno de los metodos abiertos para encontrar las raices de una ecuación)
con Python. El programa que usted va a hacer va a recibir los siguientes parámetros:
a. una ecuación f(x)
b. unos valores iniciales de donde se va a partir para encontrar la raíz
c. un valor de error_s
La salida del programa va a ser el valor de la raíz encontrada. Este programa debe de servir para cualquier
formula que uno le de, pero esta función siempre va a tener una sola variable."
mi propuesta de codigo es esta:
"def sec (fun, hi, low, error_s):
xi=float (hi)
xi_1=float (low)
fxi= fun(xi)
fxi_1 = fun(xi_1)
xnueva = xi-((f(xi)*(xi_1-xi))/(f(xi_1)-f(xi)))
error_a=100
while fun (xnueva) !=0 and error_a > error_s:
if fun (xnueva) > xi:
xi = xnueva
xi_1 = xi
elif fun (xnueva) < xi_1:
xi_1 = xnueva
xi = xi_1
elif xi_1 < xnueva < xi:
xnueva = xi
else:
break
xnueva = xi-((f(xi)*(xi_1-xi))/(f(xi_1)-f(xi)))
error_a = abs ((xi-xnueva)/xnueva)*100
return xnueva
print xnueva"
Sin embargo en ciertas funciones me da que el error esta en la linea donde se define a xnueva
me pueden ayudar a resolver este problema!!!