• Aucun résultat trouvé

COLLE MAPLE N°3 Équations Différentielles

N/A
N/A
Protected

Academic year: 2022

Partager "COLLE MAPLE N°3 Équations Différentielles"

Copied!
4
0
0

Texte intégral

(1)

Lycée Clemenceau - PCSI 2 Année scolaire 2005 - 2006

COLLE MAPLE N°3 Équations Différentielles

Nous allons découvrir aujourd’hui comment Maple résout les équations différentielles et comment se débrouiller quand même Maple ne parvient pas à déterminer une solution explicite : voilà qui devrait éveiller l’attention des brillant(e)s physicien(ne)s que vous êtes.

fonction - expression

Nous aurns besoin de faire la différence entre une fonction et une expression, car Maple la fait...

Pour définir une fonction, il faut la rentrer sous la forme fonction :=variable->expression(variable) ; Ainsi,

> a := x ^2+2;

est une expression, alors que

> f := x - >x ^2+2;

est une fonction.

Première différence : a(32) ; f(32) ;

On peut transformer une expression en fonction à l’aide de unapply(expression, variable)

Par exemple, observez

> g := u n a p p l y(a , x ); g (32);

On peut évidemment définir des fonctions de plusieurs variables :

> k :=(r , t ) - >(r * cos( t ) , r * sin ( t )); k (32 , Pi /3);

diff - D

Nous n’emploierons pas la même syntaxe selon que l’objet à dériver est une fonction ou une expression. Dans le cas d’une expression, on emploie diff(expression, varaible1, variable2, ...). Par exemple,

> E := sin (4* x ^3+5* x ); diff (E , x );

On peut dériver plusieurs fois

> diff (E , x ,x , x ); diff (E , x$3 );

pour dériver une fonction, on utilise l’opérateur D(fonction). Notez bien que d(fonction est une fonction. Par exemple,

e := u n a p p l y(E , x ); D ( e ); D ( e )( x ); D ( e ) ( 3 2 ) ; ( D@@3 )( e ); ( D@@3 )( e )( x );

(2)

2 Équations différentielles

dsolve

Maple sait résoudre pas mal d’équations différentielles grâce à

dsolve(equa diff, conditions initiales, fonction(variable)). Par exemple,

> dsolve ( diff ( y ( t ) ,t , t )+ y ( t )=0 ,D ( y )(0)=1 ,y (0)=1 ,y ( t ));

est sans surprise. On peut même omettre les conditions initiales

> dsolve ( diff ( y ( t ) ,t , t )+ y ( t )=0 ,y ( t ));

Au passage, notons que Maple permet de résoudre des équations différentielles dépendant de paramètres

> dsolve ( diff ( R * diff ( q ( t ) , t )+( q ( t ))/ C =E , q (0)=0 ,q ( t ));

Testez par exemple Maple sur les équations suivantes a) (x+1)y0x y=0

b) (1+x2)y0+x y=3x3+3x

c) (1+x2)y0+x y=1 d) x y0+2y=x/(1+x2)

e) y0p

1−x2y2−1=0 f) y00−3y0+2y=xex+sin(x)

plot - odeplot

L’instruction de base pour représenter graphiquement une fonction est

plot ( e x p r e s s i o n( v a r i a b l e) , v a r i a b l e= mini .. maxi , o p t i o n s g r a p h i q u e s );

Par exemple

> plot ( ln ( sinh ( x )) - x , x = 0 . 1 . . 1 0 ) ; C’est parfois un peu farfelu

> plot ( cos ( x )* exp ( tan ( x )) , x = -4..4);

Il faut recadrer

> plot ( cos ( x )* exp ( tan ( x )) , x = -4..4 , -4..4);

C’est déjà mieux. Mais il manque la touche finale

> plot ( cos ( x )* exp ( tan ( x )) , x = -4..4 , -4..4 , title = ‘C ’ EST BEAU ‘);

Ce qui nous intéressera plus aujourd’hui, c’est de tracer des lignes brisées

> plot ([[0 ,0] ,[1 ,3] ,[2 , -4] ,[3 ,2]]);

Notez bien l’utilisation des crochets : on a construit une liste de points différente de

> plot ([[0 ,0] ,[2 , -4] ,[1 ,3] ,[3 ,2]]);

On peut comparer deux tracés sur un même graphique en utilisant la fonction display qu’il faut aller chercher dans la bibliothèque plots

> with ( plots ):

> d1 := plot ([0 ,0] ,[1 ,3] ,[2 , -4] ,[3 ,2]] ,color = blue ):

> d2 := plot ( sin (2* x ) , x =0..3 , style = point ):

> d i s p l a y( d1 , d2 );

Pour terminer ce petit tour d’horizon, parlons de la fonction odeplot qui, elle aussi, fait partie de la bibliothèque plots. Il faut d’abord définir une solution d’une équation différentielle, par exemple

(3)

Colle Maple n°3 3

> s := dsolve (( x +1)* diff ( y ( x ) ,x ) -x * y ( x )=0 ,y (0)=1 ,y ( x )= n u m e r i c ):

L’argument numeric ajouté à la fin impose à Maple de résoudre l’équation numériquement. Pour comprendre ce qui se passe, demandez

> s (32);

Maple renvoie les coordonnées d’un point de la courbe solution. Pour tracer la courbe correspondante, il suffit d’entrer

> o d e p l o t(s ,[ x , y ( x )] , -0.5..2);

Le tracé semble manquer de précision. On peut rajouter comme option numpoints=1000 sachant que la valeur par défaut est 50.

Vous voici armé(e) pour entamer les hostilités

Résolution d’équations différentielles par discrétisation

Exemple guidé

Soitf une fonction dérivable surRvérifiant f(0)=1 et , pour toutx,f0(x)=f(x) (oui, oui, c’est bon, moi je sais aussi qui c’est, on n’a pas besoin de Maple pour ça, mais mieux vaut découvrir sur un exemple simple...).

1. Soith un réel voisin de 0. Montrez que, pour tout réela, l’approximation affine donnée par le calcul des dérivées s’écrit

f(a+h)'(1+h)×f(a)

2. On prendh=1/1000. On note (an) la suite définie para0=0 etan+1=an+h. donnez une approximation def(an+1

en fonction de f(an). Déduisez-en que la suite des approximations def(an) est une suite géométrique que vous caractériserez.

3. Faites de même avech= −1/1000.

Voici un petit programme Maple qui construit la courbe approchée par la méthode d’Euler que nous venons d’utiliser.

> with ( plots );

> Euler := proc (n , xmin , xmax ) #n , c ’ est 1/ h

> local x , ax ,y , ay ,k ,P , s :

> S := NULL ; # On c o n s t r u i t une suite de points vide au édpart

> y :=1; # y = f (0)=1 au édpart

> for k from xmin * n to xmax * n do

> ax := k /n , ay := y ; # é c o o r d o n n e s d ’ un point

> x := k / n +1/ n ; y : = ( 1 + 1 /n )^ k ; # é c o o r d o n n e s du point s u i v a n t

> P ( k ):=[ x , y ]: # on édfinit le point P ( k )

> od :

> plot ([ S ]);

> end :

> Euler (100 , -2 ,2);

Sans filet

Le but de notre nouveau jeu va être de discrétiser une équation différentielle du second ordre, de tracer le graphe corres- pondant et de comparer le résultat obtenu avec les solutions proposées par Maple grâce à dsolve et odeplot. Nous utiliserons le fait que pour une fonctionydeux fois dérivable sur un intervalle I ethproche de 0, on a

y(x+h)'y(x)+y0(x)×h

(4)

4 Équations différentielles

et donc

y0(x+h)'y0(x)+y00(x)×h

Il s’agit maintenant de mettre au point une procédure EquaDiff :=proc(f,xmin,xmax,y0,yp0,n) oùy0=y(0), y p0=y0(0) etf est la fonction de 3 variables définie par

y00=f(y0,y,x)

Le résultat doit faire apparaître sur le même graphique la courbe obtenue par la méthode d’Euler et celle obtenue à l’aide de odeplot.

Il ne restera plus qu’à tester votre procédure sur les nombreuses équations différentielles du second ordre que vous avez résolues en cours avec Madame Gornet.

Références

Documents relatifs

— L’ensemble des fonctions continues sur [0, 1] dérivables quelque part, c’est-à-dire des fonc- tions f telles qu’il existe x 0 ∈]0, 1[ avec f dérivable en x 0..

L’équation d’état différentielle linéaire fondamentale d’ordre fractionnaire est définie par : , pour 0 < m < 1 L’objectif principal de ce travail est de contribuer à

La fonction F – G possède une dérivée nulle sur I, elle est donc constante sur I. On nomme C

Pour étudier la vitesse de convergence de cette méthode, on fait les hypothèses additionnelles que f est deux fois continûment dérivable sur [a, b] et que les dérivées f 0 et f 00

Enfin x �→ ln(x) est dérivable sur ]0, + ∞ [, on en déduit que f est dérivable sur IR en tant que composée de fonctions dérivables.. (a) La dérivée de f est strictement

Dans chacun des cas suivants, dire si la fonctions f proposée est solution ou non de l’équation différentielle (E) dans laquelle y est une fonction de la variable x définie et deux

Théorème 37 (voir [2]) Si K = {0}, alors la condition (ii) de la définition 35 d’un équilibre uniformément asymptotiquement stable pour le système (2.2) est équivalente

Il existe une unique fonction f, définie et dérivable sur R , telle que f '=f et f(0)=1 Cette fonction s'appelle la fonction exponentielle et est notée exp. On a donc : pour tout