Figure 5 – Mise en oeuvre de la méthode d'Euler explicite avec Python : graphique Figure 10 – Résultat graphique de la méthode d'Euler implicite dans le cas
Previous PDF | Next PDF |
[PDF] Chapitre N 3 : Les méthodes dEuler et ses cousines
Indication : Pour demander à Python une (approximation d'une) solution de l' équation implicite y = yk + hf(tk+1,y), on pourra exécuter l'instruction fsolve( lambda
[PDF] Résolution numérique dune équation différentielle
return x et fournissent des résultats peu discernables de la solution exacte Enfin, la méthode d'Euler implicite est définie par : from scipy optimize import newton
[PDF] Méthodes numériques – Euler et Runge-Kutta - Physagreg
Figure 5 – Mise en oeuvre de la méthode d'Euler explicite avec Python : graphique Figure 10 – Résultat graphique de la méthode d'Euler implicite dans le cas
[PDF] Résolution numériques des équations différentielles - II
Mettre l'équation 2 sous la forme g(x) = 0 et rappeler l'algorithme de Newton 2 Programmer le schéma d'Euler implicite Pour ce faire vous devrez rajouter trois
[PDF] Résolution numérique des Équations Différentielles Ordinaires
Donc, la méthode d'Euler explicite est encodé par l'approximation de Padé R01, Euler implicite par R10 et la méthode du point milieu par R11 Théorème 7 4 2 Il
[PDF] Python et les math (n 4) - Free
Avec Python (bis) – Schéma d'Euler implicite (en utilisant solve) – observation numérique de la propriété des valeurs moyennes 6 VAN DER
[PDF] TP - Méthodes numériques - Corrigé
Comparer la méthode d'Euler explicite et la méthode d'Euler implicite sur le pro- blème raide y (t) = −500(y(t) − cos(t)) On commence par définir la fonction f(t,
[PDF] TP no 2 : Méthodes dEuler - Site de ptsi-pt-aix
2) Méthode d'Euler semi-implicite à pas constant encore la puissance du langage Python, en fournissant à l'utilisateur un environnement de traitement de
[PDF] Analyse numérique avec Python - Normale Sup
22 mai 2014 · Ce n'est pas gênant, il faut simplement éviter d'appliquer la méthode d'Euler à n' importe quoi, et surtout sur n'importe quel intervalle Exemple 3 :
[PDF] Enoncés des exercices
Ecrire un programme python qui calcule u(4) par les méthodes d'Euler explicite, d'Euler implicite et de Runge-Kutta d'ordre quatre Comparer les résultats obtenus
[PDF] methode euler equation differentielle
[PDF] la déchéance de gervaise dans l'assommoir
[PDF] calcul intégrale python
[PDF] python intégration numérique
[PDF] exercice python euler
[PDF] le médecin malgré lui acte 2 scène 4
[PDF] méthode dichotomie python
[PDF] le message andrée chedid résumé détaillé
[PDF] résolution équation différentielle matlab ode45
[PDF] le message andrée chedid genre
[PDF] algorithme méthode d'euler implicite matlab
[PDF] méthode de tir équation différentielle
[PDF] le message andrée chedid quiz
[PDF] le message andrée chedid extrait
Méthodes numériques
Méthodes d"Euler de de Runge-Kutta d"ordre 4 pour deséquations du premier ordre ou du deuxième
Table des matières
1 Introduction2
2 Equation du premier ordre : étude de la vitesse lors d"une chute avec frottements
quadratiques22.1 Méthode l"Euler explicite
22.1.1 Schéma Global
22.1.2 Mise en oeuvre sur l"exemple
32.1.2.1 Calcul des premiers termes à la main
42.1.2.2 Utilisation d"un tableur
42.1.2.3 Utilisation de Python
62.2 Méthode de Runge-Kutta d"ordre 4
62.2.1 Schéma global
62.2.2 Mise en oeuvre sur l"exemple
82.2.2.1 Calcul des premiers termes à la main
82.2.2.2 Utilisation d"un tableur
92.2.2.3 Utilisation de Python
93 Equation du deuxième ordre : pendule simple
103.1 Méthode d"Euler explicite
113.1.1 Calculs manuels
113.1.2 Utilisation d"un tableur
113.2 Méthode d"Euler implicite
123.2.1 Principe
123.2.2 Calculs manuels
123.2.3 Utilisation d"un tableur
123.2.4 Utilisation de python
133.3 Méthode de Runge-Kutta d"ordre 4
143.3.1 Calculs manuels
153.3.2 Utilisation du tableur
153.3.3 Utilisation de Python
163.3.3.1 Animation
174 Conclusion20
1 Méthodes numériques Euler et Runge-Kutta d"ordre 4 1. Introduction1 Introduction
En physique, nous recherchons souvent l"évolution temporelle d"une grandeur caractéristique dusystème étudié. L"étude théorique nous amène à une équation différentielle souvent non linéaire lorsque le
système n"a pas été trop modélisé. La résolution exacte de ce type d"équation est rare, on utilise alors une
méthode numérique pour approcher la solution graphiquement.L"idée de ce document est de montrer l"utilisation quelques méthodes numériques classiques. Pour cela et
afin d"éviter trop de formalisme mathématique, on se basera sur deux exemples classiques de la physique
donnant :p ourl"un une équation différen tielledu premier ordre, la c hutea vecfrottemen tsquadratiques ;
p ourl"autre un eéquation différen tielledu deuxième ordre, le p endulesimple.Après la mise en équation, nous proposerons de mettre en oeuvre la méthode numérique à l"aide d"un
tableur ainsi qu"à l"aide d"un script Python.2 Equation du premier ordre : étude de la vitesse lors d"une chute
avec frottements quadratiquesL"application du principe fondamental de la dynamique conduit à l"équation différentielle suivante :
dvdt=Av2+B(1) Le sauteur possède une vitesse initiale nulle,A=-2.03×10-3SIetB= 9,81SI.2.1 Méthode l"Euler explicite
2.1.1 Schéma Global
Cette méthode est généralement la première méthode numérique enseignée malgré des résultats peu
fiables. Son schéma et sa compréhension sont simples. Pour la mettre en oeuvre, nous avons besoin des informations suivantes : ?Condition initiale :y(t= 0) =y0Equation différentielle :dydt=f(t,y)(2)
Après avoir choisi unpasdtde calcul, on établit le schéma suivant : ?????y(t= 0) =y0 y1=y0+f(t0,y0)×dt
y2=y1+f(t1,y1)×dt
y n+1=yn+f(tn,yn)×dt(3)Cela signifie que l"on évalue la valeur de la fonctionyà l"instantn+ 1en calculant la pente de celle-ci?dydt?
à l"instantn:
2 Méthodes numériques Euler et Runge-Kutta d"ordre 4 2.1 Méthode l"Euler explicite ty t nt n+1y ny n+1 exactey n+1 euler• dterreur Figure1 - Méthode d"Euler explicite avec un pas égal àdtet erreurLes méthodes numériques telle que la méthode d"Euler sont très sensibles auchoix du pas de calcul:
celui-ci doit être pris suffisamment petit pour que les résultats soit cohérents.On peut également noter que l"erreur diminue avec le pas de calcul. Pour la méthode d"Euler explicite,
un pas divisé par deux divise l"erreur par deux(schéma ci-dessous).ty t nt n+1y ny n+1 exactey n+1 euler• dtdterreur Figure2 - Méthode d"Euler explicite avec un pas égal àdt/2et erreurAttention!
Ne pas croire que diminuer le pas de calcul améliore systématiquement les résultats de la modélisation. En
effet, les erreurs (appelées erreurs d"arrondi et de troncature, voir dans les référence section
4 ) s"ajoutentavec le principe d"itération (et plus le pas diminue plus il y a d"étapes de calculs). Il faut donc trouver un
compromis.2.1.2 Mise en oeuvre sur l"exemple
On choisira un pas de calcul de 1 seconde, un temps total de chute de 30 secondes. 3 Méthodes numériques Euler et Runge-Kutta d"ordre 4 2.1 Méthode l"Euler explicite2.1.2.1 Calcul des premiers termes à la main
v0= 0(4)
v1=v0+?dvdt?
t=0×dt=v0+ (A×v20+B)×dt= 9,81(5) v2=v1+ (A×v20+B)×dt= 19,42(6)
2.1.2.2 Utilisation d"un tableur
Pour se faire, on créé unecolonne de temps: le temps initial étant nul, à chaque ligne suivante on
ajoute le pas choisi jusqu"au temps final voulu. Dans ladeuxième colonne, on calcule les valeurs de vitesse. On renseigne tout d"abord lacondition initiale dans la première ligne, puis dans la deuxième ligne la formule de calcul issue de la
méthode d"Euler que l"on recopiera dans les lignes suivantes jusqu"à la ligne correspondant au temps final.
Voici les premières cellules du tableau :AB
1tv 2003= A2 + 1= B2 + (-0,00203×B22+ 9,81)×$A$24= A3 + 1= B3 + (-0,00203×B32+ 9,81)×$A$2
Table1 - Premières cellules de la feuille de calculs "Méthode d"Euler explicite et chute avec frottements
quadratiques"Remarque
Les signes $ permettent de bloquer le nom de la référence à la cellule A2 (là où est indiqué le pas de calcul) lors de la recopie
de la formule. Résultats et comparaison avec la solution exacte Les résultats graphiques de la méthode sont représentés sur la figure 3 Nous avons utilisé un pas de 1 seconde, 0,5 seconde ou bien 5 secondes.Notons qu"il n"y a pas de différence notoire entre les deux premières courbes. Par contre, le pas de 5
secondes donnent un résultat incohérent.Enfin, on peut comparer les résultats donnés par cette méthode d"Euler par rapport à la solution exacte
pour se rendre compte que sur cet exemple, la méthode numérique donne des résultats très acceptables
(voir figure 4Télécharger le fichier de calcul
4 Méthodes numériques Euler et Runge-Kutta d"ordre 4 2.1 Méthode l"Euler expliciteFigure3 - Méthode d"Euler explicite appliquée à la chute avec frottements quadratiques051015202530350204060
t(s)v(m.s-1)dt= 1sSolution exacte Figure4 - Comparaison entre la méthode d"Euler explicite et la solution exacte 5 Méthodes numériques Euler et Runge-Kutta d"ordre 4 2.2 Méthode de Runge-Kutta d"ordre 42.1.2.3 Utilisation de Python
coding utf8 le fichier est encode en utf8Importations
de librairies utiles calculs fonctions graphiques import numpy, math, matplotlib from pylab importUtilisation
des librairies precedentes t, dt, tmax = 0 , 1, 30 initialisation des parametres de temps x = [0] initialisation d une liste avec les dates y0 = 0 initialisation de la vitesse y=[0] initialisation d une liste avec les vitesses ouverture du fichier pour stocker liste de points fichier= open euler chute txt , w ) while t < tmax : Tant que la date est inferieure a la date max t = t + dt on incremente la date avec le pas de calcul on ajoute cette nouvelle date a la fin de la liste des dates round permet l affichage de deux decimales x.append( round (t,2)) y1 = y0 + (-0.00203*y0*y0+9.8)*dt on calcule la vitesse a l instant n +1 on affecte a l ancienne vitesse la nouvelle pour la boucle suivante y0 = y1 on ajoute la nouvelle vitesse a la fin de la liste des vitesses y.append( round (y1,2)) on ecrit la date et la vitesse a l instant n +1 dans le fichier fichier.write( str round (t,2))+ t str round (y1,2))+ n fichier.close() on ferme le fichier de stockage print (x,y) on affiche les valeurs de temps et de vitesses calculeesTracer
courbes b pour bleu pour ligne continue x pour les marqueurs en croix plt.plot(x,y, b x , label= pas de 1 s plt.xlabel( temps s nom de l axe des abscisses plt.ylabel( vitesse m s nom de l axe des abscisses plt.legend(loc= lower right ) position de la legende plt.show() on montre le graphiqueTélécharger le source de ce code
L"intérêt de ce type de code est de pouvoir changer le pas de calcul aisément, sans avoir besoin de
recopier des formules.Sur la figure
5 on ob ervela fenêtre graphique obten ue.On peut également tracer plusieurs courbes avec différents tests de pas (le script demande les deux
pas à tester), ainsi que montrer le tracé de la solution exacte : v oiciun autre co de2.2 Méthode de Runge-Kutta d"ordre 4
2.2.1 Schéma global
Cette méthode plus complexe fait intervenir quatre fois plus de calculs que la méthode d"Euler (pour
une équation différentielle du premier ordre), mais est beaucoup plus fiable. 6 Méthodes numériques Euler et Runge-Kutta d"ordre 4 2.2 Méthode de Runge-Kutta d"ordre 4 Figure5 - Mise en oeuvre de la méthode d"Euler explicite avec Python : graphiqueVoici les étapes de calculs :
k10=f(t0,y0)×dt
k 20=f? t 0+dt2 ,y0+k12×dt
k 30=f?t 0+dt2 ,y0+k22
×dt
k40=f(t0+ dt,y0+k3)×dt
y1=y0+16
(k10+ 2k20+ 2k30+k40) ...(7)Il y a donc quatre coefficients à calculer (méthode d"ordre 4, il existe également la méthode RK2) qui
correspondent à l"évaluation de 4 pentes à des instants différents entretett+ dt(une évaluation ent,
deux évaluations ent+dt2, une évaluation ent+ dt). Voici un graphique qui montre le lien entre les
différents coefficientsk: 7 Méthodes numériques Euler et Runge-Kutta d"ordre 4 2.2 Méthode de Runge-Kutta d"ordre 4 ty t nt n+1y ny n+1 exacte•k1•k
2•k
3•k
416 (k1+ 2k2+ 2k3+k4)•y n+1
Runge-
Kuttaerreur
dt2dt2 Figure6 - Evaluation des pentes pour la méthode de Runge-Kutta d"ordre 4On calcule le coefficientk1(qui correspond à l"unique coefficient de la méthode d"Euler), celui nous
permet de trouver l"ordonnée du point où l"on évaluek2(tracérouge ), son abscisse étant égale àtn+dt2.
Le coefficientk2permet de trouver l"ordonnée du point où l"on évaluek3(tracébleu ), l"abscisse restant
inchangée.On évalue une dernière fois la pente, coefficientk4, en un point d"abscissetn+1et dont l"ordonnée est
donnée par le coefficientk3(tracév ert).La pente retenue pour l"évaluation deyn+1est une pondération des pentes évaluées précédemment
(tracé bleu c iel2.2.2 Mise en oeuvre sur l"exemple
De la même manière que précédemment et pour pouvoir comparer les méthodes, on choisit un pas de
calcul de référence de 1s, et un temps total de 30s.