TD2 Informatique TD : Ré Àisions 2 : Simulation numé i ue...
Transcript of TD2 Informatique TD : Ré Àisions 2 : Simulation numé i ue...
TD2 – Informatique – PSI
TD : Révisions 2 : Simulation numérique 1
I. Loi entrée – sortie du Clever On s’intéresse au mouvement de la cabine du véhicule à trois roues Clever
dont la cabine s’incline à l’image d’une moto pour prendre un virage.
Pour piloter le mécanisme, il est nécessaire de connaître l’angle de la
cabine en fonction de l’élongation des vérins. L’étude géométrique
permet d’obtenir facilement l’élongation en fonction de l’angle :
𝜆1(𝛼) = √(𝐿 ∗ cos(𝛼 − 130°) + 𝑎)2 + (𝐿 ∗ sin(𝛼 − 130°) − 𝑏)2
Avec 𝛼 ∈ [−50°, 50°], 𝑎 = 0,14 m, 𝑏 = 0,0046 m et 𝐿 = 0,49 m.
L’objectif est de déterminer l’angle 𝜶 pour une valeur d’élongation 𝝀𝟏
donnée (on choisit 0.4 m).
Toutes les valeurs devront être données et renvoyées en degré.
1. Approche graphique
Q1. Définir la fonction l1(alpha).
Q2. Tracer 𝜆1 en fonction de 𝛼 sur le domaine d’étude considéré.
Q3. Donner un ordre de grandeur de l’angle 𝛼 pour un allongement
de 𝜆1 = 0,4 m.
Q4. Définir une fonction f1(alpha) permettant de résumer le
problème. Cette fonction sera celle qui devra être utilisée
comme argument pour les méthodes de dichotomie, Newton et
Sécante.
2. Étude de différents algorithmes de résolution
Dans cette partie, vous devez implanter différents algorithmes de résolution. Ces algorithmes sont des algorithmes itératifs
qu’il convient d’arrêter lorsque l’on atteint un critère. Le critère d’arrêt retenu sera |𝑥𝑛 − 𝑥𝑛−1| < 1 × 10−8 sauf indication
contraire.
On définit aussi un ordre de convergence par la formule : 𝑜𝑟𝑑𝑟𝑒(𝑖) =𝑙𝑜𝑔(|𝑥𝑖−𝑥𝑖−1|)
𝑙𝑜𝑔(|𝑥𝑖−1−𝑥𝑖−2|), avec 𝑖 le numéro de l’itération.
Plus l’ordre de l’algorithme est élevé, plus il converge rapidement vers la solution.
a. Méthode par dichotomie
La méthode par dichotomie permet d’approcher la solution par réduction successive de l’intervalle de recherche. Cette
méthode est adaptée pour les fonctions monotones dont on recherche le zéro.
Q5. Ecrire une fonction dichotomie(f,a,b,e) pour résoudre l’équation de la forme 𝑓(𝑥) = 0 par la méthode de
la dichotomie et tester cette fonction sur le problème posé.
Q6. Modifier votre fonction pour renvoyer le nombre d’itérations ainsi que la solution quand la convergence est
atteinte.
Q7. Modifier votre fonction pour que celui-ci renvoie la liste contenant les solutions successives obtenues à chaque
itération. On supposera que la solution potentielle à chaque itération est 𝑎 + 𝑏
2.
Q8. Ecrire une fonction ordre(lx) qui renvoie la liste contenant l’ordre de convergence en fonction des itérations.
lx est considéré être une liste contenant les solutions successives. En déduire l’ordre de convergence de la
méthode par dichotomie (dernière valeur de la liste).s
TD2 – Informatique – PSI
b. Méthode de Newton
Le principe de la méthode de Newton est de chercher le zéro d’une fonction en prenant comme nouvelle approximation
l’abscisse du point d’intersection de la tangente à la fonction au point d’approximation précédente.
Cette méthode a un ordre de convergence théorique de 2, quand on est capable de déterminer précisément la dérivée. Si
la dérivée n’est pas connue, on peut en donner une approximation. Ici, on peut calculer cette dérivée : 𝜆1′ (𝛼) =
−𝑎𝐿 sin(𝛼−130°)−𝑏𝐿 cos(𝛼−130°)
√(𝐿 cos(𝛼−130°)+𝑎)2+(𝐿 sin(𝛼−130°)−𝑏)2.
Q9. Ecrire une fonction newton(f,df,xini,e,maxiter) qui renvoie la solution, le nombre d’itérations et la liste
des approximations 𝑥𝑘 successives en prenant la dérivée exacte.
Q10. Ecrire une fonction newton2(f,xini,e,maxiter,h) qui renvoie la solution, le nombre d’itérations et la liste
des approximations 𝑥𝑘 successives en prenant la dérivée approchée pour ℎ = 0,1.
Q11. Comparer la convergence de cet algorithme pour différentes valeurs de ℎ par pas de 10 : (10−2, 10−3, 10−4. . . ) et
déterminer une valeur qui semble optimale.
Q12. Déterminer l’évolution de l’ordre de convergence en fonction des itérations et en déduire l’ordre de convergence
pour différentes valeurs de ℎ. Comparer à la valeur théorique qui est de 2.
Un camarade (je ne dirai pas qui) initialise son algorithme avec la valeur 200 et obtient un résultat aberrant !
Q13. Tester votre algorithme avec une valeur aberrante et expliquer ce qu’il se passe.
c. Méthode de la sécante (méthode HP)
Cette méthode est une variante de la méthode de Newton dans laquelle la dérivée est approximée par la pente de la droite
passant par les deux points d’abscisses 𝑥𝑘−1 et 𝑥𝑘−2 calculés précédemment.
𝑥𝑘+2 = 𝑥𝑘+1 −𝑓(𝑥𝑘+1)
𝑓(𝑥𝑘+1) − 𝑓(𝑥𝑘)(𝑥𝑘+1 − 𝑥𝑘)
Q14. Ecrire une fonction secante(f,xini1,xini2,e,maxiter) qui renvoie la solution, le nombre d’itérations
et la liste des approximations 𝑥𝑘 successives.
Q15. Déterminer l’évolution de l’ordre de convergence en fonction des itérations et en déduire l’ordre de convergence.
Comparer à la valeur théorique qui est le nombre d’or 1+√5
2.
3. Utilisation de bibliothèques Numpy/Scipy
Un certain nombre d’algorithmes existent pour résoudre une équation, la plupart d’entre eux sont déjà implantées dans le
module Scipy. Nous allons utiliser la méthode de Newton pour déterminer une solution de référence. Cette méthode
permet de résoudre une équation mise sous la forme 𝑓(𝑥) = 0.
Pour utiliser la fonction de résolution avec l’algorithme de Newton, il faut taper les commandes :
import scipy.optimize as opt
opt.newton(f,5) # la valeur initiale choisie est 5
Q16. Déterminer numériquement l’angle 𝛼 pour un allongement 𝜆1 = 0.4 m. Comparer la valeur obtenue en fonction de
la valeur initiale.
4. Conclusion
Q17. Comparer les différentes méthodes mises en œuvre en termes de nombres d’itérations pour converger, l’ordre de
convergence. Tracer l’évolution de l’erreur en fonction du nombre d’itérations.
II. Résolution de 𝒙. 𝒆𝒙 = 𝟏 On s’intéresse à la résolution de l’équation (E) : 𝑥. 𝑒𝑥 = 1 sur l’intervalle [0 ; 1]. On définit la fonction 𝑔(𝑥) = 𝑥. 𝑒𝑥.
Reprendre les fonctions précédentes pour résoudre cette équation.
TD2 – Informatique – PSI
III. Application : tir à la pétanque On considère dans cette application l’étude de trajectoire d’une boule de pétanque. On considère ici un tir tendu à 30°
comme défini sur la figure ci‐dessous.
Les frottements de l’air sont
pris en compte et génèrent
une force de frottement
proportionnelle au carré de
la vitesse :
𝐹 =1
2𝜌 𝑐 𝑆 𝑉2
Cette force est alors
fonction du coefficient de
traînée c, de la masse
volumique de l’air ρ que l’on
prendra égale à 1,2 kg/𝑚3
(conditions à 22°C et 1013 hPa) et de la surface projetée de la boule S.
Dans la suite, on notera 𝑘 =1
2𝜌 𝑐 𝑆.
Le principe fondamental de la dynamique appliqué à la boule de pétanque donne : 𝑀 �⃗� = 𝑀 �⃗� − �⃗�.
Après résolution, on peut en déduire les deux systèmes d’équations horaires pour la position sur chaque axe :
𝑥(𝑡) =𝑀
𝑘ln (
𝑘. 𝑉0 cos(𝛼) 𝑡 + 𝑀
𝑀)
𝑦(𝑡) = ℎ +𝑀
𝑘ln (cos (√
𝑔𝑘
𝑀. 𝑡 − arctan (√
𝑘
𝑀𝑔. 𝑉0 sin(𝛼)))) −
𝑀
2𝑘ln (
𝑀𝑔
𝑘(𝑉0 sin 𝛼)2 + 𝑀𝑔)
Si on néglige les forces de frottements de l’air sur la boule, on aboutit aux équations simplifiées suivantes :
𝑥(𝑡) = 𝑉0 cos(𝛼) 𝑡
𝑦(𝑡) = ℎ −1
2𝑔𝑡2 + 𝑉0 sin(𝛼) 𝑡
Q1. A partir des données numériques données, déterminer en utilisant la méthode de Newton (fonction newton2) la
position x0 du point d’impact sur le sol dans le cas où on néglige la force de frottement de l’air sur la boule.
Q2. Comparer cette valeur dans le cas où les forces de frottement de l’air ne sont plus négligées.
Q3. Tracer les trajectoires de la boule dans le plan (x,y), pour chaque modélisation (sans et avec prise en compte des
forces de frottements de l’air).
Q4. Reprendre cette étude en considérant une balle de tennis (on considère qu’elle a le même diamètre d = 70mm ; sa
masse vaut par contre M = 56g).
Bibliographie Support TP : A. Caignot et D. Prevost.