Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

tp2 Py

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 3

Ecole supérieure des Sciences et

de Technologie de Hammam Sousse 2023-2024

Module : Simulation Numérique MA1

TP 2

Exercice 1 : Méthode de H örner


L’évaluation du polynôme P en un élément x se fait par l’algorithme itératif décrit par la
formule :
N
X
P (x) = ai xN −i = aN + [x. [aN −1 + ... + [x. [x. [xa0 + a1 ]] + a2 ] + a3 ] ...]
i=0

Cette méthode se traduit en l’algorithme de H örner suivant

b 0 = a0
bn = an + bn−1 x pour 1 6 n 6 N

bN contient alors P(x).


1. Écrire une fonction : def Horner(x,A).
qui évalue le polynôme dont les coefficients sont données par le vecteur ligne A sur une
entrées réelle ou complexe x.
2. Tester cette fonction en comparant ses résultats à ceux obtenues par la fonction polyval
de PYTHON.

Exercice 2 : Calcul sur les polynômes


1. Résoudre les équations suivantes en passant par le calcul des racines des polynômes
correspondants :
3x2 − 5x + 2 = 0
x2 − 4x + 4 = 0
x2 + 3x + 8 = 0
x5 + 2x4 − 2x3 + 4x2 + 3x + 5 = 0
(1 + i)x2 + (2 − 5i)x + 3.5 = 0
2. Déterminer le polynôme dont le coefficient du monôme du plus haut degrés est 1 et dont
les racines sont données dans chacun des cas suivants par
(a) 1 et 2
(b) 2 racine double, 3 et -5
(c) 2+i, 2-3i, 5
Vérifier à chaque fois le résultat trouvé en effectuant la procédure inverse.
3. Calculer les produits des polynômes suivants
(a) (x − 2)(x − 1)

1
(b) (3x2 − 5x + 2)(x2 + 3x + 8)
4. Décomposez la fraction rationnelle suivante en éléments simples
6
x4 + 6x3 + 11x2 + 6x
Exercice 3
On considère la fonction f (x) = sin(3x) sur l’intervalle [−π, π]. En utilisant 10 points uni-
formément répartis, construire le polynôme qui interpole cette fonction en ces 10 points à l’aide
de la fonction prédéfinie nppol.polyfit(). Afficher sur un même graphique, le graphe de f ,
celui de ce polynôme et les points d’interpolation utilisés.

Exercice 4 : Méthodes du point fixe et de Newton


1. Écrire une fonction PYTHON :
def pointfixe(g,x0,tol)
qui implémente la méthode du point fixe qui consiste à calculer les termes de la suite
x = (xn )n∈N : 
x0 donné
xn+1 = g(xn )
Les entrées devraient être comme suit : g est une fonction liée à la fonction f dont on
souhaite trouver les zéros par :

f (x) = 0 ⇔ g(x) = x

x0 est une valeur initiale. Le test d’arrêt des itérations étant : |xn − xn−1 | < tol × |xn |.
2. Utiliser votre fonction pointfixe pour trouver un zéro de f (x) = 2x2 −x−72, en utilisant
les fonctions g définies par :
f (x)
g(x) = x − pour α = 1, 50, 100, 200
α
et en partant de x0 = 2.
3. Écrire une fonction PYTHON :
def newton(f,x0,tol)
qui implémente la méthode de Newton correspondant au choix de g de la question 1.
suivant
f (x)
g(x) = x − 0
f (x)
4. Faites une étude comparative de l’erreur d’approximation en fonction du nombre d’itérations
pour les différentes fonctions g des questions 2. et 3. en représentant les courbes corres-
pondantes sur un même graphe.

Exercice 5 : Polynômes de Tchebychev

On considère la suite de polynômes de Tchebychev (Pn )n∈N définie en un élément x ∈ R par :

P0 (x) = 1 P1 (x) = 2x

∀n > 2 Pn (x) = 2xPn−1 (x) − Pn−2 (x)

2
1. Ecrire une fonction PYTHON récursive :
Tchebychev rec (x , n)
qui évalue le polynôme de Tchebychev d’ordre n en x.
2. Ecrire la fonction
Tchebychev(x , n)
qui évalue le polynôme de Tchebychev d’ordre n en x, qui pour cette question ne devra
pas être récursive.
3. Ecrire les commandes pour dessiner dans un même graphique les courbes représentatives
des fonctions :

P3 : x ∈ [−1, 1] 7→ P3 (x), P5 : x ∈ [−1, 1] 7→ P5 (x).

Vous aimerez peut-être aussi