• Aucun résultat trouvé

Algorithme d’approximation num´erique

N/A
N/A
Protected

Academic year: 2022

Partager "Algorithme d’approximation num´erique"

Copied!
3
0
0

Texte intégral

(1)

Algorithme d’approximation num´erique Terminale S

Algorithme d’approximation num´ erique

La propri´et´e des valeurs interm´ediaires rencontr´ees en Terminale est tr`es utile pour justifier l’existence d’une solution d’ une ´equation du type f(x) = 0.

En revanche l’algorithme qui permet par manipulations successives du tableur, de rechercher une valeur approch´ee `a la pr´ecision souhait´ee, n’est pas tr`es convaincant. Pire, il n’y a rien d’automatique au sens o`u il suffirait de lancer un programme pour obtenir le r´esultat souhait´e.

On se propose dans cette activit´e de d´ecouvrir des algorithmes num´eriques qui livrent la valeur approch´ee d’une ´equation `a la pr´ecision souhait´ee. On s’int´eressera aussi `a la rapidit´e de la convergence de ces ins- tructions, sans se poser d’ailleurs la question de savoir si cela converge vraiment...

? Ensuite nous utiliserons le langage Python pour impl´ementer ces algorithmes.

Pr´eambule :

On utilisera la fonction f d´efinie pour tout x par : f(x) =x2−2 , et on utilisera les diff´erents algorithme pour rechercher une valeur approch´ee α de la solution positive de l’´equation f(x) = 0.

Evidemment,´ α=√

2≈1.4142135623731...

On suppose connues deux valeurs initiales a0 et b0 pour lesquelles f(a0) < 0 et f(b0) >0. Dans tous les cas il s’agit de construire une suite de valeurs qui converge vers α et si possible , tr`es vite !

Algorithme n°1 : Par dichotomie

Voici le premier algorithme assez naturel et facile `a comprendre : on appelle m0 la moyenne dea0 etb0(le milieu quoi...) et on calcule f(m) : si f(m)>0 on affecte m `ab1 eta0 `aa1, sinon m `a a1 et b0 `a b1 et on recommence avec m1,... . `A chaque boucle, it´eration, on diminue donc l’intervalle initial de moiti´e.

Voici l’algorithme et son impl´ementation en python :

Entr´ees : ǫ :pr´ecision

a, b:bornes gauche et droite Traitement :

Tant queb−a > ǫ m←− a+b

Sif(m)≤20 : a←−m sinon :

b←−m Fin Tant que Sortie :

Valeurs de a etb

def f(x):

return x**2-2

def dichotomie(p, a = 1, b = 2):

'''p:un entier positif a: vaut 1 par defaut b: vaut 2 par defaut''' while b-a >10**(-p):

m = (a + b)/2 if f(m)<= 0:

a = m else:

b = m return a, b

Lyc´ee JB de BAUDRE `a AGEN

(2)

Algorithme d’approximation num´erique Terminale S

➀ En modifiant le fichier dichotomie.py, cr´eer un compteur qui compte le nombre N de boucles n´ecessaires pour d´eterminer un encadrement de α `a la pr´ecision 10−p.

➁ Compl´eter alors le tableau suivant :

p 1 2 3 4 5

Nombre de boucles N

➂ Quelle relation existe t-il entre p et N?

Algorithme n°2 : Avec des s´ecantes

La m´ethode suivante est appel´ee m´ethode de la s´ecante. La valeur de m n’est plus d´etermin´ee par la moyenne des valeurs initiales a etb mais par l’intersection de la s´ecante (AB) avec l’axe des abscisses (A est le point de la courbe d’abscisse a, et B d’abscisse b...).Le graphique suivant illustre l’algorithme sur plusieurs it´erations.

On suppose que nous sommes dans des conditions id´eales o`u par exemple la s´ecante coupe toujours l’axe des abscisses. Avec la fonction f consid´er´ee sur l’intervalle I = [1; 2], c’est effectivement le cas.

➀ Justifier que m= a×f(b)−b×f(a) f(b)−f(a) .

➁ La convexit´e de la courbe explique que pour f(m) < 0 quelle que soit la valeur de m calcul´ee `a chaque it´eration. Ainsi `a chaque boucle ,c’est la valeur de a qui est r´eaffect´ee avec celle de m. Le programme suivant donne une valeur approch´ee de α `a la pr´ecision 10p souhait´ee :

def f(x):

return x**2-2

def secante(p, a =1, b = 2):

m = (a*f(b)-b*f(a))/(f(b)-f(a)) while m-a>10**(-p):

a = m

m = (a*f(b)-b*f(a))/(f(b)-f(a)) return m

Voila ce que donne la m´ethode avec une pr´ecision de 105 :secante(5)= 1.4142131979695434.

Lyc´ee JB de BAUDRE `a AGEN

(3)

Algorithme d’approximation num´erique Terminale S Compl´eter alors le tableau suivant :

p 1 2 3 4 5

Nombre de boucles N

Algorithme n°3 : La m´ethode de Newton Raphson

Dans la m´ethode pr´ec´edente, les diff´erentes valeurs de a calcul´ees constituent une suite (an) avec a0 = 1 et a1 = a0×f(b0)−b0×f(a0)

f(b0)−f(a0) ,... obtenues par l’intersection de la droite (AB) avec l’axe des abscisses.

Dans cette nouvelle m´ethode, le principe est le mˆeme :on construit une suite (xn) qui converge versα=√ 2.

L’algorithme est le suivant :

➊ On choisit une valeur initiale x0 > α sur l’axe des abscisses ;

➋ x1 est l’abscisse de point d’intersection de la tangente `a Cf au point d’abscisse x0 avec l’axe des abscisses.

➌ et ainsi de suite,...xn+1 est l’abscisse de point d’intersection de la tangente `aCf au point d’abscisse xn avec l’axe des abscisses.

➀ Faites un dessin qui illustre la situation.

➁ Prouver que x1 =x0 − f(x0) f(x0).

➂ Soit la suite (xn) d´efinie pour tout n par :

x0 >√ 2

xn+1 =xn− f(xn) f(xn)

❶ Justifier que pour tout n,pour notre fonction choisit en pr´eambule, on a :xn+1 = 1

2(xn+ 2 xn)

❷ D´emontrer par r´ecurrence que xn>√ 2.

❸ D´emontrer que la suite (xn) est d´ecroissante surN.

❹ En d´eduire que la suite converge vers un nombre l.

❺ D´eterminer l.

❻ D´emontrer l’in´egalit´e : (xn+1 −√

2) < (xn −√

2)2. Si xn donne une pr´ecision `a 10k de √ 2, quelle sera la pr´ecision du terme suivant xn+1?

➃ Le fichier comparaison.py g´en`ere un graphique qui compare la rapidit´e de convergence des trois algorithmes pr´ec´edents par la mesure du nombre de boucles n´ecessaires pour obtenir une valeur approch´ee de α `a 10p. Ex´ecuter le fichier.Quel est l’algorithme le plus rapide ?

Lyc´ee JB de BAUDRE `a AGEN

Références

Documents relatifs

En lien avec la partie 5.2 : pour une valeur de E b /N 0 que vous pr´ eciserez (en lin´ eaire et en dB), mesurer le rapport signal ` a bruit RSB yk sur la variable de d´ ecision y k

Tout polynôme non constant de C [X] de degré n admet n racines dans C , si chacune d’elles est comptée avec son ordre de multiplicité..

Saisir ce programme sur la calculatrice et trouver les valeurs affichées en sortie pour une précision P valant 0,001 (et si possible, en fonction de la capacité de la calculatrice

En d´ eduire la factorisation de ce polynˆ ome dans C [X ] puis dans R [X] en produit de facteurs irr´ eductibles. Exercice 11 : D´ ecomposez en produits de polynˆ omes irr´

✍ Trouver la forme d’une structure m´ ecanique qui soit la plus l´ eg` ere possible tout en ´ etant la plus solide possible. ✍ Th`eme de recherche actuellement

A l’aide du Th´ eor` eme 10.2.8, montrer que les points de minimum de J sur la sph` ere unit´ e sont des vecteurs propres de A associ´ es ` a la plus petite valeur

Si T est inf´ erieur ` a la distance de K ` a la fronti` ere de Ω, la solution explicite donn´ ee par l’exercice pr´ ec´ edent est aussi solution de l’´ equation des ondes dans

Un filtre coupe-bande idéal aurait une fonction de transfert nulle pour les fréquences comprises dans sa bande interdite et une fonction de transfert égale à 1 pour les