• Aucun résultat trouvé

⎧⎨⎪⎩⎪ dvt dvt dt dt () () n + 1 + = = t − kmv v n + n kmv 1 + 2 = () F 2 t t n () ( v t + = n , + Δ g t n tv g ) ×Δ = F t ( v , t )

N/A
N/A
Protected

Academic year: 2021

Partager "⎧⎨⎪⎩⎪ dvt dvt dt dt () () n + 1 + = = t − kmv v n + n kmv 1 + 2 = () F 2 t t n () ( v t + = n , + Δ g t n tv g ) ×Δ = F t ( v , t )"

Copied!
2
0
0

Texte intégral

(1)

TP Info Intégration numérique 2018/19

O.KELLER – TSI1 Page 1 sur 2 Lycée Louis Vincent Metz

TP d’informatique Méthode d’Euler

But du TP :

Résoudre une équation différentielle avec Python Effectuer une représentation graphique avec Python

Problématique :

On souhaite résoudre numériquement l’équation différentielle régissant la vitesse v d’une particule soumise à un frottement fluide quadratique (chute libre d’un objet non aérodynamique) :

dv t

( )

dt + k

mv2

( )

t =g (*)

où g = 9,81 m/s2 ; m = 2 kg et k = 0,01 USI. On considère de plus v(0) = 0 m/s.

Pour résoudre ce type d’équation, l’informatique utilise une méthode de calcul par propagation, appelée méthode d’Euler.

Rappel de la méthode d’Euler

L’équation différentielle (*) peut se réécrire sous la forme : dv t

( )

dt =− k

mv2

( )

t +g=F(v,t)

En partant de la condition initiale, on peut alors construire la fonction v(t) en assimilant la fonction à sa tangente au point n. On passe ainsi du point n au point n+1 par la procédure suivante :

tn+1=tn+Δt vn+1 =vn+F(vn,tn)× Δt

⎧⎨

où Δt représente l’incrément temporel. Plus Δt sera faible (donc le nombre de point de calcul élevé), plus ⎩⎪

l’approximation sera efficace.

Travail demandé :

1ere étape :

Créer un programme python, y importer la bibliothèque matplotlib et y définir les paramètres de calcul : - Valeur de g, m et k.

- Définir un nombre N de points de calcul (50 pour commencer) et une durée maximale pour le calcul de v (10 secondes pour commencer).

- Faire calculer la valeur de l’incrément Δt.

2e étape :

- Créer la fonction F(v,t) comme indiquée au début de l’énoncé.

- Créer une fonction euler(F, cond_init) où cond_init est la condition initiale de v, qui réalise le travail suivant :

(2)

TP Info Intégration numérique 2018/19

O.KELLER – TSI1 Page 2 sur 2 Lycée Louis Vincent Metz

o Déterminer et stocker les valeurs de t dans une liste T par incrémentation successive.

o Déterminer et stocker la valeur de v(t) dans une liste V o Retourner les listes sous forme d’un tuple (T,V) 3e étape :

- Créer une fonction courbe(x,y) où x et y sont des listes de nombres de taille identique, qui permet de tracer la courbe y en fonction de x. On utilisera pour cela la fonction plot(,). (cf TP précédents) - Utiliser cette fonction pour tracer la représentation graphique de v(t).

- Observer l’évolution du graphique en fonction du nombre de points de calcul utilisé.

4e étape :

- En réutilisant les méthodes précédentes, écrire une fonction position(v, Ν, Δt, cond_init) script permettant de déterminer la position z(t) de la particule à partir de la liste v en utilisant la méthode des rectangles.

- Représenter le graphique z(t).

5e étape : Utilisation des fonctions prédéfinies de Python : Ouvrez le programme EDordre1 placé sur le réseau.

- Comme précédemment, y définir les valeurs des différents paramètres et un nombre N de point de calcul.

- Définir une fonction F(v,t) comme dans la partie précédente.

- Définir une liste t de N valeur s’étendant de 0 à tmax.

- Définir la condition initiale v0

- Utiliser la fonction odeint pour résoudre. (se référer à l’aide).

- Observer la forme des solutions. Comment récupérer les différentes valeurs de v(t) ? - Tracer le graphique obtenu.

- Modifier le script précédent pour déterminer la position z(t) et tracer son graphique.

Références

Documents relatifs

[r]

c) Comme l'intensité mesurée est positive, les électrons (qui ont un sens de parcours opposé au sens conventionnel du courant) partent donc de l'armature supérieure pour arriver

[r]

Dans le cas d’ampli-op basés sur des transistors bipolaires (Figure 2), la tension de décalage d'entrée a pour origine la différence entre les tensions Vbe (environ 0,6V) des

En mathématiques, une suite de Syracuse est une suite d'entiers naturels définie de la manière suivante : le premier terme est un nombre entier plus grand que zéro ;

En mathématiques, une suite de Syracuse est une suite d'entiers naturels définie de la manière suivante : le premier terme est un nombre entier plus grand que zéro ;

ANDERSSON, Integrals of moduli of regular analytic functions.. which is an harmonic function of z, regular in

[r]