Exemple de comment implementer en python un code pour calculer le développement limité en 0 de la fonction cosinus:
# -*- coding: utf-8 -*-
import matplotlib.pyplot as plt
import numpy as np
import math
#----------------------------------------------------------------------------------------#
# Part I: Plot cosinus function
xmin = -2.0*np.pi
xmax = 2.0*np.pi
x = np.arange(xmin,xmax,0.1)
y = np.cos(x)
plt.plot(x,y)
ax = plt.gca()
ax.spines['left'].set_position('zero')
ax.spines['right'].set_color('none')
ax.spines['bottom'].set_position('zero')
ax.spines['top'].set_color('none')
plt.grid()
plt.xlim(xmin,xmax)
plt.ylim(-1.2,1.2)
plt.savefig("cosinus.png", bbox_inches='tight')
#plt.show()
#----------------------------------------------------------------------------------------#
# Part II: Cosinus Taylor series Function
def dl0_cosinus(x,n):
f = 0
for i in range(n+1):
f = f + ( (-1.0)**i / math.factorial(2.0*i) ) * x**(2.0*i)
return f
#----------------------------------------------------------------------------------------#
# Plot with order 2n = 4
n = 2
y = dl0_cosinus(x,n)
plt.plot(x,y)
plt.savefig("test_dl0_cosinus.png", bbox_inches='tight')
#plt.show()
plt.close()
#----------------------------------------------------------------------------------------#
# Part III: Create a loop over n
for n in range(1,10):
x = np.arange(xmin,xmax,0.1)
y = np.cos(x)
plt.plot(x,y)
ax = plt.gca()
ax.spines['left'].set_position('zero')
ax.spines['right'].set_color('none')
ax.spines['bottom'].set_position('zero')
ax.spines['top'].set_color('none')
plt.grid()
plt.xlim(xmin,xmax)
plt.ylim(-1.2,1.2)
y = dl0_cosinus(x,n)
plt.plot(x,y)
plt.title(u"Développement limité de la fonction cosinus ( n = "+str(n) +")")
plt.savefig("dl0_cosinus_"+str(n)+".png", bbox_inches='tight')
plt.close()
Dans la première partie du code on trace simplement la fonction cosinus sur l'intervalle $[-2\pi,2\pi]$, dans la seconde partie du code on définit le développement limité en 0 de la fonction cosinus:
$$ cos(x) = \sum_{i=0}^n \frac{(-1)^i}{(2i)!}x^{2i} + o(x^{2n+1}) $$
puis dans la troisième partie on tracer le le développement limité en 0 de cosinus pour un ensemble de n (avec $n \ge 1$)
Remarque: pour créer une animation gif avec les résultats obtenus il suffit de lancer la commande suivante:
convert -delay 100 dl0_cosinus_* dl0_cosinus.gif
Références
Liens | Site |
---|---|
Développement limité | wikipedia |
Taylor series | wikipedia |