Universit´e de Strasbourg
TP SCILAB
Agr´egation Externe de Math´ematiques Ann´ee 2012-2013
TP4: M´ethodes num´eriques pour les ´equations diff´erentielles
L’objectif de ce TP est de programmer et de comparer quelques m´ethodes num´eriques pour r´esoudre num´eriquement des ´equations diff´erentielles. On consid`erera les deux cas tests suivants pour tester les m´ethodes.
(i) L’exponentielle. On consid`ere pourx∈[0,1]
y0=y, y(0) = 1.
(ii) Le mod`ele pr´edateur-proie. On consid`ere pourt∈[0,20]
dx
dt =αx+βxy, dy
dt =γy+δxy, x(0) =x0, y(0) =y0.
On pourra prendre pour les tests : α= 0.25,β =−0.01, γ =−1,δ= 0.01, x0 = 80,y0 = 30.
1. Calculer la solution num´erique de (i) et (ii) avec la fonction odede scilab.
2. Impl´ementer les m´ethodes suivantes :
(a) Euler explicite : xn+1=xn+hf(tn, xn).
(b) Runge (d’ordre 2) : xn+1=xn+hnf(tn+ h2n, xn+h2nf(tn, xn)).
(c) Runge-Kutta d’ordre 4 (RK4) :
k1 =f(tn, xn)
k2 =f(tn+hn/2, xn+hnk1/2) k3 =f(tn+hn/2, xn+hnk2/2) k4 =f(tn+hn, xn+hnk3)) puis
xn+1=xn+hn
6 (k1+ 2k2+ 2k3+k4).
Pour chacune de ces m´ethodes on commencera par v´erifier la convergence et calculer l’ordre de convergence num´erique en prenant des pas de temps de plus en plus fin sur le cas test (i) pour lequel y(x) = exp(x) est la solution exacte. On comparera ensuite ces m´ethodes entre elles et avec la fonctionodepour 20, 30, 100 et 400 pas de temps sur le cas test (ii)