Adloun

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.0000

100 % gratuit

La suite du chapitre est sur Adloun

Exercice suivant et tuteur

Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.

Le cours du chapitre · Tous les exercices du chapitre

Exercice suivant et tuteur →