La dérivée d'une fonction à une variable révèle le taux de variation de cette fonction. Bien que nous ayons des formules analytiques pour calculer la dérivée de nombreuses fonctions, dans le monde numérique, nous utilisons souvent des approximations discrètes.
Une approche courante pour approximer des dérivées est d'utiliser la méthode des différences finies.
où
def forward_difference(f, x, h=1e-5):
return (f(x + h) - f(x)) / h
def backward_difference(f, x, h=1e-5):
return (f(x) - f(x - h)) / h
def central_difference(f, x, h=1e-5):
return (f(x + h/2) - f(x - h/2)) / h
Supposons que vous vouliez estimer la dérivée de
def f(x):
return x**2
x = 1
print(forward_difference(f, x))
print(backward_difference(f, x))
print(central_difference(f, x))
Lorsque vous exécutez le code ci-dessus, vous verrez que les trois méthodes fournissent des approximations de la dérivée vraie (qui est 2 pour
Il est important de noter que le choix de
Les méthodes de différences finies offrent une approche simple pour estimer numériquement les dérivées. En pratique, il est essentiel d'expérimenter avec différentes valeurs de
def forward_difference(f, x, h=1e-5):
"""Calcule la dérivée à l'aide de la différence finie avant."""
return (f(x + h) - f(x)) / h
def backward_difference(f, x, h=1e-5):
"""Calcule la dérivée à l'aide de la différence finie arrière."""
return (f(x) - f(x - h)) / h
def central_difference(f, x, h=1e-5):
"""Calcule la dérivée à l'aide de la différence finie centrée."""
return (f(x + h/2) - f(x - h/2)) / h
# Test des fonctions
def f(x):
return x**2
x = 1
print("Dérivée avec différence finie avant:", forward_difference(f, x))
print("Dérivée avec différence finie arrière:", backward_difference(f, x))
print("Dérivée avec différence finie centrée:", central_difference(f, x))