TP Maple 5 Dérivées, études locales et EDO
Le logiciel va nous permettre, au-delà des outils graphiques, de
calculer des limites, des développements limités et des développe-
ments asymptotiques, d’effectuer des calculs de dérivées et de ré-
soudre des équations différentielles (de manière exacte ou appro-
chée).
1 Dérivées totales et partielles . . . . . . . . . . . . . . . . . . . . . . 1
1.1 Expressions : les opérateurs diff et Diff . . . . . . 1
1.2 Fonctions : l’opérateur D . . . . . . . . . . . . . . . . . . . 3
2 Etude locale des fonctions numériques . . . . . . . . . . . . 4
2.1 Limites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2 Développements de Taylor . . . . . . . . . . . . . . . . . 5
2.3 Développements asymptotiques . . . . . . . . . . . . 6
2.4 Extraction de la partie principale . . . . . . . . . . . . 7
2.5 Obtention d’un équivalent . . . . . . . . . . . . . . . . . . 7
2.6 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3 Equations différentielles . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.1 La commande dsolve . . . . . . . . . . . . . . . . . . . . . . 8
3.2 Système d’équations différentielles . . . . . . . . . . 10
3.3 Développement limité d’une solution . . . . . . . 11
3.4 Résolution numérique . . . . . . . . . . . . . . . . . . . . . 11
3.5 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1. Dérivées totales et partielles
Comme toujours, on distinguera les fonctions et les expressions. Cela se traduira par deux syn-
taxes distinctes.
1.1. Expressions : les opérateurs diff et Diff
Afin de présenter avec élégance des séquences de calcul différentiel, Maple dispose d’un opéra-
teur effectif de différenciation et d’un opérateur inerte de différenciation. L’opérateur effectif diff
effectuera et affichera directement les calculs demandés alors que sa version inerte Diff effectuera
les calculs sans les afficher. Il faudra forcer l’affichage du résultat par la commande value.
TP Maple 5 — Dérivées, études locales et EDO Lycée Janson-de-Sailly MPSI4 2010 - 2011
Dérivations formelles successives d’une expression E
Opérateur effectif : diff(E ,L) où L est la liste des variables par rapport auxquelles on dérive l’ex-
pression E .
Opérateur inerte : Diff(E ,L) où L est la liste des variables par rapport auxquelles on dérive l’ex-
pression E .
Dérivées successives d’une fonction à une variable
> E:=x^3*sin(x): diff(E,x), Diff(E,x);
d 3
3x 2 sin(x) + x 3 cos(x), (x sin(x))
dx
> value(Diff(E,x));
3x 2 sin(x) + x 3 cos(x)
On pourra donc écrire :
> Diff(E,x)=diff(E,x);
d 3
(x sin(x)) = 3x 2 sin(x) + x 3 cos(x)
dx
Bien-sûr, les dérivées successives sont également calculables, on notera les différentes syn-
taxes :
> diff(E,x,x); diff(E,x,x,x);
6x sin(x) + 6x 2 cos(x) − x 3 sin(x), 6 sin(x) + 18x cos(x) − 9x 2 sin(x) − x 3 cos(x)
> diff(E,x$3);
6 sin(x) + 18x cos(x) − 9x 2 sin(x) − x 3 cos(x)
> diff(E,[]), diff(E,[x]), diff(E,[x,x]);
x 3 sin(x), 3x 2 sin(x) + x 3 cos(x), 6x sin(x) + 6x 2 cos(x) − x 3 sin(x)
Seule la dernière syntaxe (ie diff(E,[. . . ])) autorise la dérivation à l’ordre zéro.
http://lkcz.free.fr 2
TP Maple 5 — Dérivées, études locales et EDO Lycée Janson-de-Sailly MPSI4 2010 - 2011
Dérivées partielles succesives
> F:=x/(x^2+y^2): Diff(F,x,y)=diff(F,x,y);
∂2 ³ x ´ 2y x2 y
= − + 8
∂y∂x x 2 + y 2 (x 2 + y 2 )2 (x 2 + y 2 )3
> Diff(F,y$2,x)=diff(F,y$2,x);
∂3 ³ x ´ y2 x2 y 2 2 x2
= 8 − 48 − + 8
∂x∂2 y x 2 + y 2 (x 2 + y 2 )3 (x 2 + y 2 )4 (x 2 + y 2 )2 (x 2 + y 2 )3
1.2. Fonctions : l’opérateur D
Dans le cas d’une fonction f , c’est l’opérateur D qui permettra de calculer les dérivées succes-
sives de f .
Dérivations formelles successives d’une fonction f
Ï D(f ) : renvoie la fonction dérivée de f .
Ï D@@n(f ) : renvoie la fonction dérivée n-ième de f pour n ∈ N∗ .
∂n f
Ï D[i i ,i 2 ,. . .,i n ]( f ) retourne la fonction
∂xi n . . . ∂xi 2 ∂xi 1
http://lkcz.free.fr 3
TP Maple 5 — Dérivées, études locales et EDO Lycée Janson-de-Sailly MPSI4 2010 - 2011
> f:=x->exp(x)*sin(x): D(f);
x → e x sin(x) + e x cos(x)
> (D@@2)(f);
x → 2e x cos(x)
> g:=(x,y,z)->z*cos(x*y): D[1,1,1](g), D[2](g), D[1,2](g);
(x, y, z) → z sin(x y)y 3 , (x, y, z) → −z sin(x y)x, (x, y, z) → −z cos(x y)y x − z sin(x y)
> D[1,1,1](g)(Pi,1/2,1);
1
8
> D[](g);
Signalons que l’on peut aussi dériver une fonction f en appliquant l’opérateur diff à l’expres-
sion 1 f (x).
2. Etude locale des fonctions numériques
2.1. Limites
Le logiciel dispose d’un opérateur inerte (Limite) et effectif (limit) de calcul des limites. Pour
calculer
lim f (x)
x→a
où f (x) est une expression, on suivra la syntaxe décrite ci-dessous.
Calcul d’une limite par la commande limit
limite(f(x), x=a, right ou left)
le troisième argument (pour une limite à droite ou à gauche) étant optionel.
1. Ceci n’est bien entendu valable que si la variable x est libre.
http://lkcz.free.fr 4
TP Maple 5 — Dérivées, études locales et EDO Lycée Janson-de-Sailly MPSI4 2010 - 2011
> Limit(sin(x)/x,x=0): %=value(%);
sin(x)
lim = 1.
x→0 x
On écrira a = ±infinity pour calculer des limites en ±∞.
> Limit(exp(x)/x,x=infinity): %=value(%);
ex
lim =∞
x→+∞ x
Le logiciel renvoie le message undefined lorsqu’il manque de données pour calculer ce qui lui
est demandé. C’est par exemple le cas lorsque la limite n’existe pas car les limites à gauche et à
droite sont distinctes. L’utilisateur pourra spécifier right ou left en option dans la commande limit
pour calculer respectivement des limites à droite et à gauche.
> Limit(exp(1/x),x=0): %=value(%);
1
lim e x = undefined
x→0
> Limit(exp(1/x),x=0, right): %=value(%);
1
lim e x = ∞
x→0+
2.2. Développements de Taylor
M APLE calcule des développements de Taylor dont les restes sont des O (« grand o ») ; par
exemple
sin(x) = x + O(x 3 )
Calcul d’un développement limité de f (x) en un point a par la commande taylor
taylor( f (x), x = a, n)
Il faut bien comprendre la signification de n ci-dessus : il ne s’agit pas de l’ordre du dévelop-
pement calculé mais l’ordre auquel le logiciel développera les fonctions composant l’expression
f (x). Le lecteur méditera les exemples suivants :
http://lkcz.free.fr 5
TP Maple 5 — Dérivées, études locales et EDO Lycée Janson-de-Sailly MPSI4 2010 - 2011
> taylor(sin(x),x=0,4);
1
x − x 3 + O(x 4 )
6
> taylor(sin(x)/ln(1+x),x=0,4);
1 1
1 + x − x 2 + O(x 3 )
2 4
2.3. Développements asymptotiques
Plus généralement, l’utilisateur obtiendra des développements asymptotiques 2 au moyen de
la commande series.
Calcul d’un développement asymptotique de f (x) en un point a par la commande series
series( f (x), x = a, n)
La remarque précédente sur la signification de n est encore valable pour la commande series.
Ce troisième argument est cependant optionnel. Maple dispose d’une variable d’environnement
Order qui par défaut vaut 6.
> series(1/sin(x),x=0,4);
1
x −1 + x + O(x 2 )
6
> Order:=2:series(sin(x),x=0);
x + O(x 2 )
La commande taylor n’est qu’une spécialisation de la commande series. On pourra donc éga-
lement obtenir des DL au moyen de series.
> series(sin(x),x=0,4);
1
x − x 3 + O(x 4 )
6
On pourra aussi effectuer des développements en +∞...
2. Ce type de développement généralise les DL . Le lecteur est renvoyé à son cours de Mathématiques.
http://lkcz.free.fr 6
TP Maple 5 — Dérivées, études locales et EDO Lycée Janson-de-Sailly MPSI4 2010 - 2011
> series(1/(1+x),x=infinity,4);
1 1 1 ³1´
− 2 + 3 +O 4
x x x x
2.4. Extraction de la partie principale
Le résultat renvoyé par la commande series n’est pas utilisable tel quel pour un tracé ou pour
effectuer des calculs algébriques (produits ou sommes de DL) car il n’est pas du type polynom (au
sens large). On pourra cependant extraire la partie principale d’un développment en utilisant la
commande convert.
Extraction de la partie principale d’un développement
convert (résultat d’une commande series , polynom)
> series(60*ln(1+x), x = 0); convert(%,polynom);
60x − 30x 2 + 20x 3 − 15x 4 + 12x 5 + O(x 6 )
60x − 30x 2 + 20x 3 − 15x 4 + 12x 5
2.5. Obtention d’un équivalent
On obtiendra un équivalent d’une expression au voisinage d’un point en utilisant la command
leadterm.
Détermination d’un équivalent de x en a par leadterm
series(leadterm( f (x)), x = a)
> series(leadterm(sqrt(1+sqrt(x))),x=infinity);
1
³ ´ 14
1
x
2.6. Exercices
http://lkcz.free.fr 7
TP Maple 5 — Dérivées, études locales et EDO Lycée Janson-de-Sailly MPSI4 2010 - 2011
Exercice 1.
Pour tout entier naturel n, on pose
∀x ∈ R, f n (x) = sin(x) cosn (x).
1. Représenter sur un même graphique les fonctions f n pour n variant de 0 à 15 sur [0, 2π].
2. Caculer en utilisant le logiciel le maximum u n de f n sur [0, 2π].
3. Déterminer la limite de u n quand n tend vers +∞ puis un équivalent de u n .
Exercice 2.
Trouver la limite puis un équivalent du terme général de la suite définie par
∀n Ê 2, u n = cos(n 2 π ℓn(1 − 1/n)).
Exercice 3.
Pour tout entier naturel n non nul, on pose
u n = (1 − tanh(n))tanh(1/n) .
1. Déterminer la limite ℓ de u n lorsque n tend vers +∞ en utilisant le logiciel. Démontrer ce
résultat.
2. Trouver un équivalent de u n − ℓ en utilisant Maple pour les calculs intermédiaires.
3. Equations différentielles
Le logiciel peut résoudre explicitement de nombreuses équations différentielles. En cas d’im-
possibilité, l’utilisateur pourra se rabattre sur des solutions de rechange comme une résolution
approchée ou la recherche de solutions développables en série.
3.1. La commande dsolve
La commande dsolve renvoie les solutions d’une équation différentielle (écrite au moyen de la
commande diff) en écrivant les constantes sous la forme _C 1, _C 2, etc.
http://lkcz.free.fr 8
TP Maple 5 — Dérivées, études locales et EDO Lycée Janson-de-Sailly MPSI4 2010 - 2011
> equ:=diff(y(x),x)+y(x)=exp(-x): dsolve(equ,y(x));
y(x) = (x + _C 1)e −x
On pourra aussi préciser des conditions initiales :
> dsolve({equ,y(0)=0},y(x));
y(x) = e −x x
> eq:=diff(y(x),x$2)+diff(y(x),x)+y(x)=0: dsolve({eq,y(0)=0,D(y)(0)=1},y(x));
p ³ p3x ´
2 3 −x
y(x) = e 2 sin
3 2
L’utilisateur prendra garde à ce que les séquences précédents n’ont nullement affecté les va-
riables y et y(x) : la solution n’a été retenue ni sous forme d’une fonction ni sous forme d’une
expression.
> y(0);
y(0)
S’il souhaite conserver la solution comme une fonction y, l’utilisateur suivra la syntaxe sui-
vante :
Résolution formelle d’une équation différentielle
Ï Solution générale (avec constante) : dsolve(équation)
Ï Solution à un problème de Cauchy : dsolve({équation, cond. init.})
Ï Enregistrer la solution comme une fonction :
sol :=dsolve({equation, cond. init.},y(x)) : assign(sol) : y :=unapply(y(x),x) :
Ï Enregistrer la solution comme une expression :
sol :=dsolve({equation, cond. init.},y(x)) : y :=rhs(sol) :
http://lkcz.free.fr 9
TP Maple 5 — Dérivées, études locales et EDO Lycée Janson-de-Sailly MPSI4 2010 - 2011
> eq:=diff(y(x),x)-y(x)=exp(x): sol:=dsolve({eq,y(0)=1},y(x)): assign(sol):
y:=unapply(y(x),x): y(0);
Signalons que Maple ne peut pas résoudre toutes les équations !...
> equ:=diff(y(x),x$2)+x*diff(y(x),x)+(x^2+1)*y(x)=0;
d2 ³ d ´
2
y(x) + x y(x) + (x 2 + 1)y(x) = 0
dx dx
> sol:=dsolve({equ,y(0)=1,D(y)(0)=1},y(x));
sol :=
Le logiciel reste muet ; il faudra alors envisager d’autres moyens...
3.2. Système d’équations différentielles
La syntaxe précédente se généralise sans peine à un système d’équations différentielles de la
manière suivante :
Résolution formelle d’un système d’équations différentielles
dsolve({équation1, équation2, . . ., équationn , conditions initiales})
On pourra également extraire les solutions en tant que fonctions. Voici l’exemple d’un système
linéaire homogène d’ordre deux.
> eqq:={diff(x(t),t)+x(t)+2*y(t)=0,diff(y(t),t)+x(t)-y(t)=0,x(0)=0,y(0)=1}:
sol:=dsolve(eqq);
n 1p p p p 1 p 1 p 1p p 1p p o
sol := x(t ) = − (3)e (3)t + ) 3e − 3t , y(t ) = e 3t + e − (3)t + (3)e (3)t − (3)e − (3)t
3 3 2 2 6 6
> x:=unapply(subs(sol,x(t)),t);
1p p p p
x := t → − (3)e (3)t + ) 3e − 3t
3 3
http://lkcz.free.fr 10
TP Maple 5 — Dérivées, études locales et EDO Lycée Janson-de-Sailly MPSI4 2010 - 2011
3.3. Développement limité d’une solution
Le logiciel peut trouver un DL de la solution à une équation différentielle donnée au voisinage
d’une condition initiale fixée. L’utilisateur explicitera l’option series en troisième argument de la
commande dsolve.
> equ:=diff(y(x),x$2)+x*diff(y(x),x)+(x^2+1)*y(x)=0:
sol:=dsolve({equ,y(0)=1,D(y)(0)=1},y(x),series);
1 1 1 1
sol := y(x) = 1 + x − x 2 − x 3 + x 4 + x 5 + O(x 6 )
2 3 24 60
L’ordre du développement 3 est par défaut égal à 6. On pourra le changer en modifiant la valeur
de la variable globale Order avant d’utiliser la commande dsolve.
> Order:=8: sol:=dsolve({equ,y(0)=1,D(y)(0)=1},y(x),series);
1 1 1 1 7 6 1 7
sol := y(x) = 1 + x − x 2 − x 3 + x 4 + x 5 + x + x + O(x 8 )
2 3 24 60 720 180
3.4. Résolution numérique
Lorsque le logiciel s’avérera incapable d’exprimer formellement une solution, on pourra tout de
même obtenir une solution approchée obtenue par une méthode numérique choisie par Maple 4.
Il faudra alors préciser l’option numeric en troisième argument de la commande dsolve.
> equ:=diff(y(x),x$2)+x*diff(y(x),x)+(x^2+1)*y(x)=0;
sol:=dsolve({equ,y(0)=1,D(y)(0)=1},y(x),numeric);
sol := proc(xr k f 45)...end proc
La variable sol se comporte comme une fonction de la variable x et donc la valeur en x est une
liste de la forme
[x, valeur approchée de y(x), valeur approchée de y ′ (x), . . ., valeur approchée de y (n−1) (x)]
dans le cas d’une équation d’ordre n. Ainsi, dans l’exemple exposé ci-dessus :
3. Il s’agit d’un DL en O , attention au décallage par rapport au cours de Mathématiques !
4. Citons par exemple la méthode de Runge-Kutta-Fehlberg, rkf en abrégé.
http://lkcz.free.fr 11
TP Maple 5 — Dérivées, études locales et EDO Lycée Janson-de-Sailly MPSI4 2010 - 2011
> sol(0);
h d i
x = 0., y(x) = 1., y(x) = 1.
dx
Représentation graphique
La fonction odeplot de la bibliothèque plots permettra au lecteur de représenter graphique-
ment la solution approchée calculée par Maple.
> with(\verb|plots|): odeplot(sol,[x,y(x),color=black],-3..3);
1,2
1,0
0,8
0,6
0,4
0,2
K3 K
2 K1 0 1 2 3
K
0,2
x
K
0,4
On a précisé [x, f (x), ...] en deuxième argument pour forcer le logiciel à tracer y(x) en fonction
de x.
Etraction de la solution approchée sous forme d’une fonction
Pour cette opération, on commence par forcer le logiciel à créer n procédures à partir de la
procédure définissant sol. Il suffit d’indiquer l’otions output=listprocedure en quatrième argument
de dsolve. On peut alors extraire la fonction y(x) par une commande subs.
http://lkcz.free.fr 12
TP Maple 5 — Dérivées, études locales et EDO Lycée Janson-de-Sailly MPSI4 2010 - 2011
> lst:=dsolve({equ,y(0)=1,D(y)(0)=1},y(x),numeric,output=listprocedure);
h d i
lst := x = proc(x)...end proc, y(x) = proc(x)...end proc, y(x) = proc(x)...end proc
dx
> f:=subs(lst,y(x));
f := proc(x)...end proc
La fonction ainsi définie est utilisable par exemple pour des tracés, des équations, etc.
> fsolve(f(x)=0,x=2..3);
2.120658201
Systèmes d’équations différentielles
La commande dsolve permet également la résolution approchée des systèmes d’équations dif-
férentielles. La syntaxe s’inspire largement de ce qui précède et de ce qui a été déjà vu lors de
l’étude de la résolution formelle des systèmes d’équations.
Voici l’exemple du sytème proie-prédateurs 5. On observe classiquement une oscillation du sys-
tème : ce dernier est stable.
5. les fonctions x et y représentent respectivement le nombre de prédateurs et de proies en fonction du temps. On a modélisé leur
coexistence en fonction du temps t par le sytème différentiel ẋ(t ) = 0.5x(t )(y (t ) − 1), ẏ(t ) = y (t )(1 − x(t )).
http://lkcz.free.fr 13
TP Maple 5 — Dérivées, études locales et EDO Lycée Janson-de-Sailly MPSI4 2010 - 2011
> restart:equ:={diff(x(t),t)=0.5*x(t)*(y(t)-1),diff(y(t),t)=y(t)*(1-x(t)),
x(0)=2,y(0)=2}:
sol:=dsolve(equ,numeric,output=listprocedure):
x:=subs(sol,x(t)):y:=subs(sol,y(t)):
plot([x,y,0..11],color=black,thickness=2);
3,0
2,5
2,0
1,5
1,0
0,5
0,4 0,6 0,8 1,0 1,2 1,4 1,6 1,8 2,0 2,2
3.5. Exercices
Exercice 4.
Soit
(E) : x 2 y ′′ + 4x y ′ + 2y = ℓn(1 + x).
1. Résoudre (E) sur ]0, +∞[ en utilisant Maple.
2. Déterminer l’unique solution de (E) bornée au voisinage 0. On la notera f .
3. Tracer le graphe de f sur [0, +∞[.
Exercice 5.
Soit
y
= 0. (E) : y ′′ +
x2
Résoudre (E) au moyen du logiciel sur [1, +∞[. Déduire de la forme des solutions une méthode
de résolution de (E).
http://lkcz.free.fr 14
TP Maple 5 — Dérivées, études locales et EDO Lycée Janson-de-Sailly MPSI4 2010 - 2011
Exercice 6.
Pour I intervalle de R et f continue sur I à valeurs dans R, on considère l’équation différentielle
(Ef ) : y ′ − y + f (x) = 0.
1. Désoudre (Ef ) au moyen de Maple dans le cas où I = R et f (x) = e −2x cos3 (x).
2. Dans cette question, I = R∗+ et f (x) = x1 .
2.a. Que donne Maple pour la résolution de cette équation ?
2.b. Représenter sur un même graphique les solutions des problèmes de Cauchy suivants :
y − y + x1 = 0
½ ′
, α ∈ {−15, −14, . . ., 14, 15}.
y(1) = α
2.c. Rechercher au moyen du logiciel les solutions de (Ef ) bornées au voisinage de +∞.
2.d. Déterminer avec Maple un équivalent simple en 0+ des solutions de (Ef .
2.e. Déterminer sans le logiciel l’ensemble H des points (a, b) du demi-plan d’inéquation x > 0
par lesquels passe le graphe d’une solution x 7→ y(x) de (Ef ) telle que y ′ (a) = 0.
2.f. Déterminer sans le logiciel l’ensemble L des points (a, c) du demi-plan d’inéquation x > 0
par lesquels passe le graphe d’une solution x 7→ y(x) de (Ef ) telle que y ′′ (a) = 0.
2.g. Représenter simultanément H , L , les solutions de (Ef ) trouvées à la question 2.b. ainsi que
l’unique solution de (Ef ) bornée au voisinage de +∞.
http://lkcz.free.fr 15