Calculer la dérivée d'une fonction numérique est une opération relativement simple à effectuer avec python. En effet, il existe une fonction scipy intitulé derivative dans le module misc, permettant d'obtenir directement la dérivée en un point. Pour illustrer comment marche la fonction "derivative" de scipy, essayons de calculer la dérivée de la fonction $f(x)=x^2$ quand x=2.

>>> from scipy import misc
>>>
>>> def fonction(x):
... return x*x
...
>>> misc.derivative(fonction, 2.0)
4.0
Pour cela il faut tout d'abord importer le module misc grâce à la commande suivante: from scipy import misc Puis, définir une fonction python retournant la valeur de f pour un x donnée, tel que:
def fonction(x):
return x*x
Pour connaître la dérivé de cette fonction en x=2 il suffit alors de taper la commande suivante misc.derivative(fonction, 2.0) qui retourne bien la valeur attendue, c'est-à-dire 4.
Maintenant que vous savez comment calculer la dérivée d'une fonction pour un x donné, vous pouvez facilement appliquer cela sur un intervalle donné. Le code python presenté ci-dessous permet par exemple de calculer la derivée de la fonction $f(x)=3x^2+2x+1$ sur l'intervalle [-2,2] et de tracer celle-ci avec la bibliothèque python matplotlib (resultat figure 1).
from pylab import *
from scipy import misc
ax = subplot(111)
def fonction(x):
return 3*x*x+2*x+1
x = arange(-2.0, 2.0, 0.01)
y = fonction(x)
plot(x, y,'r-')
yp = misc.derivative(fonction, x)
plot(x, yp,'b-')
grid(True)
ax.spines['left'].set_position('zero')
ax.spines['right'].set_color('none')
ax.spines['bottom'].set_position('zero')
ax.spines['top'].set_color('none')
text(-0.75, 6.0,
r'$f(x)=3x^2+2x+1$', horizontalalignment='center',
fontsize=18,color='red')
text(-1.0, -8.0,
r"$f'(x)=6x+2$", horizontalalignment='center',
fontsize=18,color='blue')
show()