Implémentation des Dérivées en Python
En Python, il est possible de calculer des dérivées de manière symbolique à l'aide de sympy et de les visualiser avec matplotlib.
1. Calcul des dérivées de manière symbolique
# Define symbolic variable x
x = sp.symbols('x')
# Define the functions
f1 = sp.exp(x)
f2 = 1 / (1 + sp.exp(-x))
# Compute derivatives symbolically
df1 = sp.diff(f1, x)
df2 = sp.diff(f2, x)
Explication :
- Définition de
xcomme variable symbolique avecsp.symbols('x'); - La fonction
sp.diff(f, x)calcule la dérivée defpar rapport àx; - Cette méthode permet de manipuler algébriquement les dérivées en Python.
2. Évaluation et tracé des fonctions et de leurs dérivées
# Convert symbolic functions to numerical functions for plotting
f1_lambda = sp.lambdify(x, f1, 'numpy')
df1_lambda = sp.lambdify(x, df1, 'numpy')
f2_lambda = sp.lambdify(x, f2, 'numpy')
df2_lambda = sp.lambdify(x, df2, 'numpy')
Explication :
sp.lambdify(x, f, 'numpy')convertit une fonction symbolique en une fonction numérique pouvant être évaluée avecnumpy;- Ceci est nécessaire car
matplotlibetnumpyfonctionnent sur des tableaux numériques, et non sur des expressions symboliques.
3. Affichage des évaluations des dérivées pour des points clés
Pour vérifier nos calculs, nous affichons les valeurs des dérivées pour x = [-5, 0, 5].
# Evaluate derivatives at key points
test_points = [-5, 0, 5]
for x_val in test_points:
print(f"x = {x_val}: e^x = {f2_lambda(x_val):.4f}, e^x' = {df2_lambda(x_val):.4f}")
print(f"x = {x_val}: sigmoid(x) = {f4_lambda(x_val):.4f}, sigmoid'(x) = {df4_lambda(x_val):.4f}")
print("-" * 50)
1. Pourquoi utilise-t-on sp.lambdify(x, f, 'numpy') lors de la représentation graphique des dérivées ?
2. En comparant les graphes de f(x)=ex et de sa dérivée, laquelle des affirmations suivantes est vraie ?
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion
Can you explain the difference between symbolic and numerical differentiation?
How does the derivative of the sigmoid function behave at different x values?
Can you summarize the key points from the video explanation?
Awesome!
Completion rate improved to 1.96
Implémentation des Dérivées en Python
Glissez pour afficher le menu
En Python, il est possible de calculer des dérivées de manière symbolique à l'aide de sympy et de les visualiser avec matplotlib.
1. Calcul des dérivées de manière symbolique
# Define symbolic variable x
x = sp.symbols('x')
# Define the functions
f1 = sp.exp(x)
f2 = 1 / (1 + sp.exp(-x))
# Compute derivatives symbolically
df1 = sp.diff(f1, x)
df2 = sp.diff(f2, x)
Explication :
- Définition de
xcomme variable symbolique avecsp.symbols('x'); - La fonction
sp.diff(f, x)calcule la dérivée defpar rapport àx; - Cette méthode permet de manipuler algébriquement les dérivées en Python.
2. Évaluation et tracé des fonctions et de leurs dérivées
# Convert symbolic functions to numerical functions for plotting
f1_lambda = sp.lambdify(x, f1, 'numpy')
df1_lambda = sp.lambdify(x, df1, 'numpy')
f2_lambda = sp.lambdify(x, f2, 'numpy')
df2_lambda = sp.lambdify(x, df2, 'numpy')
Explication :
sp.lambdify(x, f, 'numpy')convertit une fonction symbolique en une fonction numérique pouvant être évaluée avecnumpy;- Ceci est nécessaire car
matplotlibetnumpyfonctionnent sur des tableaux numériques, et non sur des expressions symboliques.
3. Affichage des évaluations des dérivées pour des points clés
Pour vérifier nos calculs, nous affichons les valeurs des dérivées pour x = [-5, 0, 5].
# Evaluate derivatives at key points
test_points = [-5, 0, 5]
for x_val in test_points:
print(f"x = {x_val}: e^x = {f2_lambda(x_val):.4f}, e^x' = {df2_lambda(x_val):.4f}")
print(f"x = {x_val}: sigmoid(x) = {f4_lambda(x_val):.4f}, sigmoid'(x) = {df4_lambda(x_val):.4f}")
print("-" * 50)
1. Pourquoi utilise-t-on sp.lambdify(x, f, 'numpy') lors de la représentation graphique des dérivées ?
2. En comparant les graphes de f(x)=ex et de sa dérivée, laquelle des affirmations suivantes est vraie ?
Merci pour vos commentaires !