énoncé - Laurent Dumas

EXERCICE 1: après avoir consulté l'aide en ligne des instructions plot2d et ... L'
idée consiste à se ramener à un problème de Cauchy du type précédent, ...

Part of the document


Laurent Dumas & Adel Blouza
http://www.ann.jussieu.fr/~dumas/epf.html



TP SCILAB n°3 : EQUATIONS DIFFERENTIELLES




EPF 3ème année, 2007-2008



Dans cette troisième séance Scilab, la première partie est consacrée à
l'apprentissage de la représentation graphique puis deux problèmes faisant
intervenir des équations différentielles avec conditions initiales ou avec
conditions aux limites sont résolus.



1. Représentation graphique

Scilab permet d'effectuer des représentations graphiques évoluées de
courbes, de surfaces, de lignes de niveau à partir de données matricielles.
Les instructions correspondantes (plot2d, plot3d, contour, etc...)
possèdent une syntaxe très proche (détaillée dans l'aide de plot2d).

EXERCICE 1: après avoir consulté l'aide en ligne des instructions plot2d et
legends essayer de reproduire le dessin suivant :

[pic]


2. Equations différentielles avec conditions initiales

Scilab est un excellent outil pour effectuer des résolutions
approchées d'équations ou de systèmes d'équations différentielles
ordinaires, soit en reprogrammant les méthodes usuelles (Euler, Runge
Kutta), soit en utilisant une instruction de type boite noire, en
l'occurrence l'instruction ode.

EXERCICE 2 : A l'aide de l'instruction ode, résoudre pour t ( [0,25] le
système d'équations différentielles d'inconnues (x(t),y(t)) dit de
Volterra intervenant en dynamique des populations (x(t) : densité de
prédateurs, y(t) : densité de proies) :

x'(t)=x(t)y(t)/2-x(t)/2
y'(t)=-x(t)y(t)+y(t)

avec les conditions initiales x(0)=y(0)=2 ;
Représenter graphiquement les solutions sous la forme :
t ( x(t) et t ( y(t)
et
t ( (x(t),y(t)) (courbe paramétrée).
et retrouver en particulier le caractère positif et iso-périodique des
solutions.

3. Equations différentielles avec conditions aux limites

EXERCICE 3 : on s'intéresse à présent au problème de la chaînette
consistant à résoudre pour x ( [0,1], l'équation différentielle d'inconnue
u(x):

u''(x)-(1+u'(x))1/2 = 0

avec les conditions aux limites u(0)=u(1)=0.

L'idée consiste à se ramener à un problème de Cauchy du type
précédent, en remplaçant la condition u(1)=0 par une condition du type
u'(0)=a puis à déterminer par dichotomie la valeur de a pour laquelle
u(1)=0 (méthode de tir).
On pourra utiliser la fonction dicho suivante permettant de rechercher par
dichotomie la solution de f(x)=0 pour x ( [amin,amax] avec une précision
epsilon :

function x0=dicho(f,amin,amax,epsilon)
f1=f(amin);f2=f(amax);
while(amax-amin>epsilon)
c=(amin+amax)/2;f3=f(c);
if(f1*f3