Universit´
e Pierre et Marie Curie Ann´
ee 2013-2014
Licence p´
eriode 1
LM206 : Initiation `
aScilab
9´
Equations diff´
erentielles
Cette s´
eance traite de la r´
esolution des ´
equations (ou syst`
emes d’´
equations) diff´
erentielles avec
Scilab. On rencontre en effet fr´
equemment de telles ´
equations dans de nombreux domaines (m´
ecanique,
chimie, biologie, etc). Apr`
es deux exemples de r´
esolution d’´
equations d’ordre 1 puis 2 avec l’instruc-
tion ode, un probl`
eme de m´
ecanique c´
eleste est abord´
e.
Premiers exemples de r´
esolution d’´
equations diff´
erentielles Le logiciel Scilab permet de r´
esoudre
de mani`
ere approch´
ee toute ´
equation (ou syst`
eme d’´
equations) diff´
erentiel du type
y0=f(t, y)(1)
compl´
et´
ee par la condition initiale y(t0) = y0(sous r´
eserve d’existence et d’unicit´
e de la solution).
L’instruction correspondante, de type “boˆ
ıte noire”, s’appelle ode et n´
ecessite la donn´
ee de quatre
arguments : la donn´
ee initiale y0, le temps initial t0, les instants de calcul de la solution et la fonction
f(toujours `
a deux arguments tet y). Par exemple, la s´
erie d’instructions 1
deff(’dy=fct(t,y)’,’dy(1)=cos(t)*y(2);dy(2)=y(1)-y(2)’)
t0=0;y0=[10;2];t=0:0.1:10;
z=ode(y0,t0,t,fct);
permet de calculer et de stocker dans la variable zles solutions du syst`
eme d’´
equations diff´
erentielles
(d’inconnues y1et y2) :
y0
1(t) = cos(t)y2(t),
y0
2(t) = y1(t)−y2(t),
y1(0) = 10,
y2(0) = 2
aux instants t= 0,0.1,0.2, . . ., jusqu’`
at= 10. Pour tracer ensuite y1en fonction de t, on pourra taper
plot(t,z(1,:)). Mˆ
eme si la fonction fdans l’´
equation (1) ne d´
epend pas de la variable tou de
la variable y, il faut quand mˆ
eme la d´
efinir commme fonction de ces variables.
Exercice 1 R´
esoudre sur [0,10] l’´
equation de Bernoulli : y0=−y+ty2avec la donn´
ee initiale y(0) =
1.
Solution.
Exercice 2 On consid`
ere l’´
equation du pendule pesant : u00 + sin(u)=0avec les donn´
ees initiales
u(0) = 0 et u0(0) = 1. En posant y= (u, u0)T, mettre le syst`
eme diff´
erentiel v´
erifi´
e par ysous la
forme (1). R´
esoudre ce syst`
eme sur [0,10]. Tracer uet u0en fonction de t.
Solution.
1. La fonction fct, d´
efinie ici directement dans le script avec l’instruction deff peut aussi ˆ
etre d´
efinie dans un autre
fichier.
1