Series de McLaurin

En matemáticas, una serie de Taylor es una aproximación de funciones mediante una serie de potencias o suma de potencias enteras de polinomios como $( x-a )^n$ llamados términos de la serie, dicha suma se calcula a partir de las derivadas de la función para un determinado valor o punto a suficientemente derivable sobre la función y un entorno sobre el cual converja la serie. Si esta serie está centrada sobre el punto cero, $a=0$, se le denomina serie de McLaurin.

Esta aproximación tiene tres ventajas importantes:

la derivación e integración de una de estas series se puede realizar término a término, que resultan operaciones triviales;
se puede utilizar para calcular valores aproximados de funciones;
es posible calcular la optimidad de la aproximación.

A continuación se enumeran algunas series de Taylor de funciones básicas. Todos los desarrollos son también válidos para valores complejos de x.

Función exponencial y logaritmo natural $$e^{x} = \sum^{\infty}_{n=0} \frac{x^n}{n!}\quad, \forall x; n \in \mathbb{N}_0$$ $$\ln(1+x) = \sum^{\infty}_{n=1} \frac{(-1)^{n-1}}n x^n\quad\mbox{, para } \left| x \right| < 1$$

Serie geométrica $$\frac{a}{1-x} = \sum^{\infty}_{n=0} ax^n\quad\mbox{ para } \left| x \right| < 1$$

Funciones trigonométricas $$\sin x = \sum^{\infty}_{n=0} \frac{(-1)^n}{(2n+1)!} x^{2n+1}\quad, \forall x$$ $$\cos x = \sum^{\infty}_{n=0} \frac{(-1)^n}{(2n)!} x^{2n}\quad, \forall x$$ $$\tan x = \sum^{\infty}_{n=1} \frac{B_{2n} (-4)^n (1-4^n)}{(2n)!} x^{2n-1}\quad, \mbox{ para } \left| x \right| < \frac{\pi}{2}$$

Donde $B_s$ son los Números de Bernoulli.

Ejercicio

Hacer un programa que tenga las siguientes funciones:

  • Dar un mensaje de bienvenida
  • Pedir el tamaño del vector y el numero de aproximación
  • Realizar una de las siguientes opciones
    • Calcular y graficar el $\sin x$ obtenido por la serie a diferentes aproximaciónes y por np.sin
    • Calcular y graficar el $\cos x$ obtenido por la serie a diferentes aproximaciónes y por np.cos
    • Calcular y graficar el $e^x$ obtenido por la serie a diferentes aproximaciónes y por np.exp
    • Calcular y graficar el $\ln(x)$ obtenido por la serie a diferentes aproximaciónes y por np.log
  • Vizualizacion de la grafica con:
    • Titulos ejes
    • Titulo de grafica
    • Rango adecuado
In [ ]:
print ('Bienvenido')
x= int(input('Que tamaño posee el vector? '))
n= int(input('A que valor deseas aproximarlo? '))
o= raw_input('Que serie quieres calcular [exp, log, sin, cos, tan]')
In [8]:
from math import factorial
x = input('Introduce el valor del vector: ')
n = input('Introduce el valor de aproximacion: ')
suma=0;
for i in range (1,n):
    y = x^i/factorial(n)
    suma=float(suma+y)
print('el valor de exp(x) es: ', suma)
Introduce el valor del vector: 5
Introduce el valor de aproximacion: 6
('el valor de exp(x) es: ', 25.0)
In [18]:
x= input('Introduce el valor del vector: ')
n= input('Introduce el valor de aproximacion: ')
su=0
for i in range (1,n):
    if abs(x)<1:
        l= (((-1)**(i-1))/n)*(x**i)
        su= (su+l)
print('el valor de ln(1+x) es: ', su)
Introduce el valor del vector: .0000001
Introduce el valor de aproximacion: 15
('el valor de ln(1+x) es: ', -1.0000000000000098e-14)
In [23]:
from math import factorial 
x= input('Introduce el valor del vector: ')
n= input('Introduce el valor de aproximacion: ')
Sum=0
for i in range (1,n):
    s= (((-1)**i)/factorial((2*n)-1))*(x**((2*i)+1))
    Sum= float(Sum+s)
print('El valor de sin(x) es: ',Sum)
Introduce el valor del vector: 90
Introduce el valor de aproximacion: 1
('El valor de sin(x) es: ', 0)
In [28]:
from math import factorial
x= input('Introduce el valor del vector: ')
n= input('Introduce el valor de aproximacion: ')
suma_cos=0
for i in range (1,n):
    c=(((-1)**i)/factorial(2*n))*(x**(2*i))
    suma_cos=float(suma_cos+c)
print('El valor de cos(x) es: ', suma_cos)
Introduce el valor del vector: 90
Introduce el valor de aproximacion: 45
('El valor de cos(x) es: ', -1.1610630880495273e+168)
In [31]:
import numpy as np
In [32]:
np.exp(5)
Out[32]:
148.4131591025766
In [33]:
np.sin(90)
Out[33]:
0.89399666360055785
In [34]:
np.cos(90)
Out[34]:
-0.44807361612917013
In [36]:
np.log(.00001)
Out[36]:
-11.512925464970229
In [ ]: