Vous êtes sur la page 1sur 2

Universit´e Paris-Sud Licence Math`ematiques / Physique Travaux Pratiques

´

Simulations Num´eriques - UE M208 S4 - Ann´ee 2013-2014

TP 4 : Equations diff´erentielles ordinaires.

Pour pr´eparer votre s´eance de TP, cr´eez et placez-vous dans un r´epertoire TP4.

Exercice 1. On consid`ere deux mod`eles pour d´ecrire l’´evolution d’une population d’individus au cours du temps. Soit p(t) le nombre d’individus de cette population `a l’instant t. Un premier mod`ele est donn´e par l’´equation diff´erentielle dp

(1)

dt et un deuxi`eme mod`ele est donn´e par l’´equation diff´erentielle

= kp,

dp

= kp(10 p),

dt o`u la constante k repr´esente un taux de croissance. On consid`ere ici k = 0, 1.

(2)

i) On consid`ere que la population `a l’instant t = 0 est ´egale `a 5 (c’est-`a-dire p(0) = p 0 := 5). En utilisant le solveur matlab ode45, calculer des solutions approch´ees p 1 et p 2 des ´equations (1) et (2), de donn´ee initiale p 0 , dans l’intervalle de temps [0, 10]. Repr´esenter graphiquement les solutions obtenues. Dans chaque cas, quel est le nombre d’individus de la population `a l’instant t = 10 ?

ii) En se basant sur les graphes obtenus `a la figure pr´ec´edente, expliquer comment chaque mod`ele pr´edit l’´evolution de la population p au cours du temps.

iii) Quelle est la solution exacte de l’´equation (1), avec donn´ee initiale p 0 ? Comparer, sur un mˆeme graphe, la solution approch´ee p 1 obtenue `a la question ii) et la solution exacte.

Exercice 2. [R´esolution approch´ee d’une EDO lin´eaire du 1er ordre]. On consid`ere l’´equation diff´erentielle

avec la condition initiale

x (t) = x(t)

10

+ sin(t),

x(0) =

1

101 .

t 0,

(3)

(4)

´

i) Ecrire l’´equation (3) sous la forme x = f (t, x), en pr´ecisant la fonction f.

ii) On souhaite calculer une solution approch´ee du probl`eme de Cauchy (3)-(4) dans l’intervalle

[0, 15] en utilisant les sch´emas d’Euler explicite et de Runge. Pour ce faire, on se donne N > 0

(on consid`ere une discr´etisation

uniforme de l’intervalle [0, 15], de pas h, d´efinie par les N + 1 points t n ). Calculer les solutions

et on d´efinit les points t n = nh, pour n = 0,

,N , o`u h = 15

N

approch´ees obtenues avec ces deux sch´emas pour les valeurs de N = 30 et de N = 1500.

iii) La solution exacte du probl`eme (3)-(4) est donn´ee par

x(t) = exp(

t

10 )

10

101 (10 cos(t) + sin(t)).

(5)

Comparer graphiquement la solution exacte et les solutions approch´ees obtenues avec les deux shc´emas, pour N = 30 et N = 1500. L’erreur entre la solution exacte et une solution approch´ee, au point t n , est donn´ee par |x n x(t n )|. Repr´esenter dans chacun des cas l’erreur commise et commenter les r´esultats observ´es.

1

iv)

Calculer une solution approch´ee de (3)-(4) donn´ee par la fonction matlab ode45 pour les mˆemes points de discr´etisation que pr´ec´edemment. Comparer sur un mˆeme graphe la solution exacte, les solutions approch´ees obtenues par les sch´emas d’Euler explicite et de Runge, et la solution approch´ee obtenue avec ode45. Commenter.

Exercice 3. [Pendule]. Le mouvement d’un pendule id´eal (soumis uniquement `a la force de gravit´e), de longueur L et de masse m, est gouvern´e par l’´equation diff´erentielle

g

(6)

θ = L sin(θ).

θ repr´esente l’angle du pendule par rapport `a l’axe vertical (voir figure ci-dessous) et d´etermine ainsi la position du pendule ; g est l’acc´el´eration gravitationelle.

du pendule ; g est l’acc´el´eration gravitationelle. On consid`ere L = 0 . 5 m et

On consid`ere L = 0.5m et g = 9.81m/s 2 .

i) On note Θ =

θ

θ

. Ecrire l’´equation (6) sous la forme d’un syst`eme d’´equations diff´erentielles

´

Θ = F (t, Θ),

(7)

en pr´ecisant la fonction F .

et θ (0) = 0. En utilisant le solveur matlab

ode45, calculer une solution approch´ee du syst`eme (7) dans l’intervalle de temps [0, 10], avec cette condition initiale. Quel est l’angle que le pendule fait avec l’axe vertical `a l’instant t = 10 ?

iii) Repr´esenter sur un mˆeme graphe θ et θ en fonction du temps (ne pas oublier de mettre des l´egendes).

iv) Faire un film qui illustre le mouvement du pendule au cours du temps. Pour cela, on pourra par exemple marquer une pause de 0.1s entre chaque affichage (rajouter pause(0.1) apr`es la commande plot).

v) Faire les mˆemes simulations en changeant la condition initiale, d’abord en prenant θ (0) = 5, puis en prenant θ (0) = 10. Qu’observez-vous ? Interpr´eter les r´esultats obtenus.

ii) On consid`ere qu’`a l’instant t = 0 on a θ(0) = π

4

2