Python (école d'ingénieur) · Chapitre 8 · Exercice
Polynômes avec NumPy
Calcul scientifique avec NumPy
Énoncé
Utiliser la classe np.poly1d et les fonctions polynomiales de NumPy pour :
- Créer le polynôme .
- Évaluer en .
- Calculer les racines de .
- Dériver le polynôme .
- Intégrer le polynôme .
Corrigé
import numpy as np
# 1. Création du polynôme (coefficients par puissance décroissante)
coeffs = [2, -5, 3, -1] # 2x^3 - 5x^2 + 3x - 1
P = np.poly1d(coeffs)
print(f"Polynôme P(x) =\n{P}")
# 2. Évaluation
x = 2
print(f"P({x}) = {P(x)}")
# 3. Racines
racines = np.roots(coeffs)
print(f"Racines de P : {racines}")
# 4. Dérivée
P_prime = P.deriv()
print(f"Dérivée P'(x) =\n{P_prime}")
# 5. Intégrale
P_int = P.integ()
print(f"Primitive \int P(x)dx =\n{P_int}")
# 6. Évaluation sur un vecteur
x_vals = np.linspace(-2, 3, 10)
y_vals = P(x_vals)
print(f"\nÉvaluation sur intervalle :")
for xi, yi in zip(x_vals, y_vals):
print(f" P({xi:.2f}) = {yi:.4f}")
L'exécution de ce script affiche :
Polynôme P(x) =
3 2
2 x - 5 x + 3 x - 1
P(2) = 5
Racines de P : [ 1.5+0.5j 1.5-0.5j -0.5+0.j ]
Dérivée P'(x) =
2
6 x - 10 x + 3
Primitive \int P(x)dx =
4 3 2
0.5 x - 1.667 x + 1.5 x - 1 x
Évaluation sur intervalle :
P(-2.00) = -43.0000
P(-1.44) = -21.4650
P(-0.89) = -9.0096
P(-0.33) = -2.6324
P(0.22) = -0.5597
P(0.78) = -0.7497
P(1.33) = -1.1652
P(1.89) = -0.0446
P(2.44) = 5.2154
P(3.00) = 17.0000100 % gratuit
La suite du chapitre est sur Adloun
- 7 autres exercices corrigés dans ce chapitre, et 7 à chercher avec le tuteur
- Les 2 QCM du chapitre, le premier sans compte
- Le tuteur, qui guide pas à pas sans donner la réponse
Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.