• Jueves 28 de Marzo de 2024, 16:09

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - mpce

Páginas: [1]
1
Python / metodo de la secante
« en: Viernes 17 de Septiembre de 2010, 09:03 »
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!!!

2
Python / biseccion
« en: Viernes 3 de Septiembre de 2010, 21:39 »
A ver si alguien me ayuda a desifrar donde este codigo tiene un error, es un buen reto para ustedes, que saben de programacion, y asi me hechan una mano!!!

saludos!!!

codigo fuente:

def bisection(fun, lower, upper, error_s = 0.01):
   
    xl = lower
    xu = upper
    xrNew = (xl+xu)/2
    error_a = 100
##    c = 1
   
    while fun(xrNew) != 0 and error_a > error_s:
       
##        print 'c= ', c, '| xl= ', xl, '| xu= ', xu, '| xr= ', xrNew, '| e_a= ', error_a
##        c+=1
       
        if fun(xrNew) < 0:
            xu = xrNew
        else:
            xl = xrNew
           
        xrOld = xrNew
        xrNew = (xl+xu)/2
       
        if xrNew != 0:
            error_a = abs((xrNew - xrOld)/xrNew) * 100
           
##    print 'c= ', c, '| xl= ', xl, '| xu= ', xu, '| xr= ', xrNew, '| e_a= ', error_a
   
    return xrNew

3
Python / biseccion
« en: Viernes 3 de Septiembre de 2010, 21:36 »
A ver si alguien me ayuda a desifrar donde este codigo tiene un error, es un buen reto para ustedes, que saben de programacion, y asi me hechan una mano!!!

saludos!!!

codigo fuente:

def bisection(fun, lower, upper, error_s = 0.01):
   
    xl = lower
    xu = upper
    xrNew = (xl+xu)/2
    error_a = 100
##    c = 1
   
    while fun(xrNew) != 0 and error_a > error_s:
       
##        print 'c= ', c, '| xl= ', xl, '| xu= ', xu, '| xr= ', xrNew, '| e_a= ', error_a
##        c+=1
       
        if fun(xrNew) < 0:
            xu = xrNew
        else:
            xl = xrNew
           
        xrOld = xrNew
        xrNew = (xl+xu)/2
       
        if xrNew != 0:
            error_a = abs((xrNew - xrOld)/xrNew) * 100
           
##    print 'c= ', c, '| xl= ', xl, '| xu= ', xu, '| xr= ', xrNew, '| e_a= ', error_a
   
    return xrNew

4
Python / necesito de ustedes
« en: Viernes 27 de Agosto de 2010, 06:44 »
Hey necesito ayuda, soy completamente nuevo en esto de la programación y tengo una sencilla tarea que quiero que me ayuden a solucionar:
Debo escribir una funcion que reciba a otra funcion, y que luego reciba a 2 variables (a,b), de tal forma que:
 def_tarea (f,a,b)
        (a^b)/b=c

En mis propias palabras, lo que necesito es una funcion, que llame a otra y que pueda evaluarse con esas variables.

Agradezco su ayuda.

Saludos

Páginas: [1]