Révision – Méthodes Numériques
1 Définition d’une Fonction
1.1 Exemples de Fonctions
1.1.1 Fonction exponentielle
Python
Mathématique import numpy as np
=⇒
F (x) = ex def f ( x ) :
return np . e ** x
1.1.2 Fonction quadratique
Python
Mathématique
=⇒ def f ( x ) :
F (x) = x2 − 2 return x **2 - 2
1.1.3 Fonction affine
Python
Mathématique
=⇒ def f (x , a , b ) :
F (x) = ax + b return a * x + b
Remarque : En Python, l’indentation est obligatoire.
1
2 Création de Vecteurs
3 Création des abscisses
Vecteur Python
=⇒ X = np . linspace (0 , 4 , 5)
X= 0 1 2 3 4
=⇒ X = np . linspace ( -3 , 3 , 7)
X = −3 −2 −1 0 1 2 3
0 2 4 6 8 10 12 14 16 18
=⇒ X = np . linspace (0 , 20 , 11)
X=
20
X = −5 −4.9 . . . 4.9 5 =⇒ X = np . linspace ( -5 , 5 , 100)
(100 points)
4 Création des ordonnées
Y = f ( X ) # ou bien Y = g ( X ) selon
=⇒
Y = F (x1 ) F (x2 ) . . . F (xn ) la fonction d f i n i e
2
5 Tracé des Courbes
X = [1 , 2 , 3]
Y = [1 , 3 , 2]
plt . plot (X , Y , ’g ’)
Figure 1: Exemple de tracé de courbe
X = [1 , 2 , 3 , 4 , 5 , 6]
Y = [1 , 3 , 2 , 4 , 3 , 2]
plt . plot (X , Y , ’g ’)
Figure 2: Exemple de tracé de courbe
X = [ -2 , -1.99 , ... , 1.99 , 2] (100 points )
Y = x **2
plt . plot (X , Y , ’g ’)
3
Figure 3: Exemple de tracé de courbe
4
6 Méthode de Newton
6.1 Définition de la fonction et sa dérivée
def f ( x ) :
y = x **3 - 4* x + 1
return y
def df ( x ) :
y = 3* x **2 - 4
return y
6.2 Implémentation de la méthode de Newton
def newton (a , b , err ) :
r = (a + b) / 2
while abs ( f ( r ) ) > err :
r = r - f ( r ) / df ( r )
return r
6.3 Tracé de la fonction et des axes
X = np . linspace ( -3 , 3 , 100)
Y = f(X)
plt . plot (X , Y , ’r ’)
plt . axhline ()
plt . axvline ()
Figure 4: Tracé de la fonction f (x) et des axes
On peut remarquer 3 solutions pour f(x) = 0
5
6.4 Trouver les solutions
Il existe trois solutions :
- La première solution est dans l’intervalle [−3, −2].
- La deuxième solution est dans l’intervalle [0, 1].
- La troisième solution est dans l’intervalle [2, 3].
6.4.1 1er solution
Nous cherchons une solution de l’équation f (x) = 0 sur l’intervalle [−3, −2] avec une précision de
err = 0.001.
donc on appele la fonction de newton avec ses parametres : Newton(-3, -2, 0.001)
Choix des valeurs initiales
La solution est entre a = −3 et b = −2. On choisit le milieu :
a+b −3 + (−2)
r= = = −2.5 (1)
2 2
Calcul de f (r) :
f (−2.5) = (−2.5)3 − 4(−2.5) + 1 = −4.625 (2)
Comme |f (r)| = 4.625 > err, on continue.
Évaluation en r = −2.5 :
f ′ (−2.5) = 3(−2.5)2 − 4 = 14.75 (3)
Mise à jour :
f (r) −4.625
r=r− = −2.5 − = −2.18644 (4)
f ′ (r) 14.75
Vérification :
|f (−2.18644)| = | − 0.7066| = 0.7066 > err (5)
Comme |f (r)| = 0.7066 > err, on continue.
f ′ (−2.18644) = 3(−2.18644)2 − 4 = 10.34156 (6)
−0.7066
r = −2.18644 − = −2.11811 (7)
10.34156
|f (−2.11811)| = | − 0.0302| = 0.0302 > err (8)
Comme |f (r)| = 0.0302 > err, on continue.
f ′ (−2.248) = 3(−2.248)2 − 4 = 9.4592 (9)
f (r) −0.0302
r=r− ′
= −2.11811 − = −2.11492 (10)
f (r) 9.4592
|f (−2.11492)| = 0.00011 < err (11)
6
Comme |f (r)| = 0.00011 < err, on s’arrete la.
donc L’algorithme s’arrête après trois itérations. La premiere solution approchée de l’équation :
x3 − 4x + 1 = 0 (12)
est :
r ≈ −2.11492 (13)
avec une précision de 0.001.
6.4.2 2ème et 3ème solution
En suivant les memes etapes avec :
• newton(0, 1, 0.001), on trouve la deuxième racine r2 ≈ 0.254.
• newton(1, 2, 0.001), on trouve la troisième racine r3 ≈ 1.86.
Ces valeurs sont obtenues en itérant jusqu’à ce que |f (r)| < 0.001.