Tema: taylor
Ver Mensaje Individual
  #8 (permalink)  
Antiguo 28/10/2010, 12:58
Avatar de razpeitia
razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: taylor

Cita:
Iniciado por AlvaroG Ver Mensaje
Código Python:
Ver original
  1. from __future__ import division
y queda solucionado el asunto de la división. Además, en Python 3 funciona por defecto devolviendo un flotante.

Tampoco es necesaria "una fórmula muy larga", más bien crear cada sumando en un for, ya que todos tienen la misma forma: el término de grado n es x^n/n!

Código Python:
Ver original
  1. from math import factorial
  2. from __future__ import division
  3. y = 0
  4. for i in range(0, n):
  5.     y += (x**i)/factorial(i)
  6.  
  7. return y

donde n es la cantidad de términos que te interesa generar para la serie.
AlvaroG yo también fue lo primero que hice, pero me di cuenta que le quitaba precisión.

Veamos un ejemplo:
Código Python:
Ver original
  1. from __future__ import division
  2. from math import factorial, e
  3.  
  4. def expo_razpeitia(x):
  5.     y = 0
  6.     for i in range(15): #Rango predefinido
  7.         y += 1 / factorial(i)
  8.     return y ** x
  9.  
  10. def expo_AlvaroG(x):
  11.     y = 0
  12.     for i in range(15):
  13.         y += (x ** i) / factorial(i)
  14.     return y
  15.  
  16. print e ** 10
  17. print expo_razpeitia(10)
  18. print expo_AlvaroG(10) #El tuyo tiene una perdida mas grande