TP n° 2 d`Informatique - Résolution d`équation à une variable

publicité
Lycée Carnot
PC
2016-2017
TP no 2 d’Informatique
Résolution d’équation à une variable
Objectif du TP
La modélisation des problèmes scientifiques conduit à la nécessité de la résolution de trois types de problèmes
mathématiques :
– les équations différentielles
– les équations unidimentionnelles algébriques ou transcendantes
– les systèmes linéaires inversibles
Ce TP, avec le précédent et le suivant, traitent ces trois résolutions. Il est question ici des équations non
différentielles, qui peuvent se mettre sous la forme f(x) = 0. On cherche une résolution numérique approchée
de ces équations.
1
Exemple pratique
On souhaite déterminer le temps que devrait mettre une balle de tennis à tomber depuis le haut de l’Arc de
Triomphe. On trouve, dans Wikipedia notamment :
– masse d’une balle de tennis : 55 g
– coefficient de frottement fluide d’une balle dans l’air : 0,019 USI
– hauteur de l’Arc de Triomphe : 50 m
La résolution analytique de l’équation différentielle donne pour la distance parcourue
mg
m2 g
x=
t− 2
λ
λ
−t
1 − exp
m/λ
Remarque : entraînez-vous...
Tracer cette fonction au cours du temps.
2
Méthode de dichotomie
On considère pour cette méthode une fonction f continue sur un intervalle [a,b], à valeurs réelles, telle que
f(a) · f(b) < 0. D’après le théorème des valeurs intermédiaires, la fonction f s’annule au moins une fois sur
l’intervalle [a,b].
L’idée est alors de découper en deux l’intervalle de recherche. On note m = a+b
2 , et l’on cherche à savoir si
le zéro est situé sur [a,m] ou sur [m,b] : si f(a) · f(m) < 0, le zéro appartient à [a,m] ; sinon, à [m,b] (il faudra
peut-être s’intéresser au cas f(a) · f(m) = 0...).
On réduit alors l’intervalle, qui devient deux fois plus petit, puis on recommence. On obtient ainsi une suite
e
de segments [an ,bn ], contenant un zéro de f, et de longueur b−a
2n . La précision à la n itération est donc
inférieure à la moitié de cette quantité.
– Faire, sur papier, un dessin représentant graphiquement le fonctionnement de l’algorithme. Créer l’algorithme sur le papier en pseudo-code.
– Créer une fonction dichotomie(f,a,b,epsilon) de paramètres une fonction f, deux réels a et b délimitant
l’intervalle de recherche, et un troisième réel ε représentant la précision minimale acceptable du résultat.
On prendra par défaut ε = 10−10 .
– La tester sur l’exemple donné.
TP no 2 d’Informatique - Résolution d’équation à une variable
1/2
Lycée Carnot
3
PC
2016-2017
Méthode de Newton ou méthode de la tangente
Cette méthode consiste à approximer le graphe de la fonction au voisinage d’un point par la tangente en ce
point. En un point d’abscisse x0 , la tangente a pour équation y = f ′ (x0 ) · (x − x0 ) + f(x0 ), et coupe donc
0)
l’axe des abscisses en x1 = x0 − ff(x
(la fonction doit être de classe C 1 , et on suppose ne pas tomber sur
′
(x0 )
une dérivée nulle).
Dans les bons cas, x1 est plus proche de la solution de l’équation f(x) = 0 que x0 . En itérant ce raisonnement,
n)
. Elle est, sous certaines conditions qui
on peut alors construire une suite (xn ) définie par xn+1 = xn − ff(x
′
(xn )
ne seront pas étudiées ici, rapidement convergente, vers une solution de l’équation f(x) = 0.
Le calcul de la dérivée doit bien sûr être numérique (on ne connaît pas a priori l’expression de f ′ ). On peut
prendre par exemple un taux d’accroissement f(x+h)−f(x)
, avec h très faible.
h
– Faire, sur papier, un dessin représentant graphiquement le fonctionnement de l’algorithme. Créer l’algorithme sur le papier en pseudo-code.
– Créer une fonction newton(f,x0,epsilon,h) de paramètres une fonction f, un réel x0 égal à la première
valeur de la suite, un réel ε égal à la précision du résultat et un réel h pour le calcul de la dérivée. Par
défaut, ε = 10−10 et h = 10−6 .
Attention aux boucles infinies : pour éviter tout problème, on disposera d’un compteur qui permettra
de sortir la fonction au bout de 500 itérations.
– La tester sur l’exemple donné.
4
Comparaison des performances
– Modifier chaque fonction précédente pour qu’elle retourne le nombre d’itérations en plus du résultat.
– Comparer l’efficacité de chaque algorithme pour l’exemple donné, à ε = 10−10 par exemple.
TP no 2 d’Informatique - Résolution d’équation à une variable
2/2
Téléchargement