• Jueves 25 de Abril de 2024, 13:15

Autor Tema:  metodo de la secante  (Leído 9013 veces)

mpce

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
metodo de la secante
« en: Viernes 17 de Septiembre de 2010, 09:03 »
0
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!!!

RadicalEd

  • Moderador
  • ******
  • Mensajes: 2430
  • Nacionalidad: co
    • Ver Perfil
Re: metodo de la secante
« Respuesta #1 en: Viernes 17 de Septiembre de 2010, 14:15 »
0
Muestra la función fun para darte una respuesta concreta.
El pasado son solo recuerdos, el futuro son solo sueños