Derivation Implicite
Derivation Implicite
Derivation Implicite
© Pierre Lantagne
Enseignant retraité du Collège de Maisonneuve
La première version de ce document est parue sous la version Maple 6. Le but de ce document est de transposer
en Maple la dérivation implicite. On détaillera des résolutions habituelles de tangentes et de normales à des
courbes définies implicitement. Dans ce document, lorsqu'il s'agit d'une équation de deux variables, nous
supposerons toujours l'existence d'au moins une fonction implicite.
Initialisation
> restart;
> with(plots,implicitplot,pointplot,display,setoptions):
#with(plottools,pointplot)
setoptions(size=[400,400],scaling=constrained,axesfont=[times,roman,
8],color=navy):
Équations implicites
Il est possible de dériver implicitement avec la macro-commande diff. À l'aide de la syntaxe fonctionnelle,
il faut désigner dans l'équation, laquelle des deux variables sera désignée variable indépendante. Par exemple,
dans le cas de l'équation ci-dessous,
Calculons où
> Équation:=3*y(x)^2+5*x=3-5*y(x)^3;
diff(Équation,x);
(2.1)
> Diff(y(x),x)=solve((2.1),diff(y(x),x));
(2.2)
La macro-commande implicitdiff s'avère beaucoup plus souple dans le calcul des dérivées implicites et
c'est la macro-commande qui sera retenue pour dériver implicitement dans la suite de ce document.
Macro-commande implicitdiff
Calculons de nouveau dy avec implicitdiff. sans utiliser la syntaxe fonctionnelle pour la variable
> Équation:=3*y^2+5*x=3-5*y^3;
`y'`:=implicitdiff(Équation,y,x);
(3.1)
Il ne faut donc pas utiliser la notation fonctionnelle pour la variable y, celle qui est décrite implicitement par
rapport à la variable x. On a donc que la macro-commande implicitdiff formule explicitement y', ce qui
permet facilement d'assigner y' à un nom pour une éventuelle évaluation.
> Eval('`y'`',{x=55,y=-4})=eval(`y'`,{x=55,y=-4});
(3.2)
Pour obtenir une dérivée implicite successive d'ordre supérieur, on procède de la même façon qu'avec la
macro-commande diff. Soit, par exemple , calculons de l'exemple précédent . On
(3.3)
Exemple 1
Calculons si .
> Équation:=exp(x*y)=x^2*y^3;
(3.1.1)
>
`y'`:=implicitdiff(Équation,y,x);
(3.1.1)
Sur la base de l'égalité , exprimons la dérivée y', en termes de x et y seulement. Simplifions donc
y' en substituant l'expression par dans la dérivée y'.
> ``=subs(Équation,(3.1.1));
(3.1.2)
Il est possible de transformer encore y' en factorisant xy au numérateur et au dénominateur. Pour terminer
la simplification donc, normalisons la réponse précédente.
> normal((3.1.2));
(3.1.3)
Exemple 2
Dans un même graphique, tracer ces tangentes et la courbe. Enfin, déterminer, si possible, le point
d'intersection de ces tangentes.
Solution proposée
Obtenons d'abord la forme canonique de l'équation de l'ellipse afin de bien mettre en évidence ses
caractéristiques. C'est un travail nécessaire pour une approche judicieuse dans le tracé à faire.
> Éq1:=CompleteSquare(Équation);
(3.2.3)
> Éq2:=Éq1+(36=36);
(3.2.4)
(3.2.4)
> Éq_Ellipse:=1/36*Éq2;
(3.2.5)
L'ensemble des points du plan cartésien dont les coordonnées vérifient l'équation
est donc une ellipse centrée au point dont l'axe principal est
parallèle à l'axe des x. La demi-longueur de l'axe principal vaut et la demi-longueur du second axe
vaut , le tracé complet de cette ellipse sera obtenu avec et
Spécifions l'option view=[-3..5,-6..1] pour mieux visualiser l'ellipse avec les axes de coordonnées.
> Ellipse:=implicitplot(Éq_Ellipse,x=-2..4,y=-5..-1):
display(Ellipse,view=[-3..5,-6..1]);
Pour calculer les pentes des tangentes, il faut obtenir d'abord et ensuite, faire l'évaluation de la dérivée
> `y'`:=implicitdiff(Équation,y,x);
(3.2.6)
Pour évaluer la dérivée avec les deux coordonnées de chaque point de tangence, il faut obtenir l'ordonnée
de chaque point de l'ellipse ayant pour abscisse la valeur 3.
> Sol:=solve(Équation,y);
Ordonnées:=eval(Sol,x=3);
(3.2.7)
(3.2.8)
(3.2.9)
(3.2.10)
Superposons maintenant le tracé de l'ellipse avec ceux des deux droites tangentes.
> D_tangente[1]:=plot([x,rhs(Éq_tangente[1]),x=2..4],color=navy):
D_tangente[2]:=plot([x,rhs(Éq_tangente[2]),x=2..4],color=navy):
display({Ellipse,D_tangente[1],D_tangente[2]},view=[-3..5,-6..1]);
Finalement, déterminons les coordonnées du point d'intersection des deux droites tangentes en résolvant le
système suivant.
> solve({Éq_tangente[1],Éq_tangente[2]});
(3.2.11)
> D_tangente[1]:=plot([x,rhs(Éq_tangente[1]),x=2..11/2],color=navy):
D_tangente[2]:=plot([x,rhs(Éq_tangente[2]),x=2..11/2],color=navy):
Point_t:=pointplot([11/2,-3],symbol=solidcircle,symbolsize=15):
display({Point_t,Ellipse,D_tangente[1],D_tangente[2]},view=[-3..6,
-6..1]);
Trouvons maintenant le point d'intersection des deux normales en ces points de tangence.
La pente de la normale passant par le point est .
(3.2.12)
> D_normale[1]:=plot([x,rhs(Éq_normale[1]),x=2.5..3.5],color=navy):
D_normale[2]:=plot([x,rhs(Éq_normale[2]),x=2.5..3.5],color=navy):
display({Ellipse,D_normale[1],D_normale[2]},view=[-3..5,-6..1]);
> solve({Éq_normale[1],Éq_normale[2]});
(3.2.13)
> D_normale[1]:=plot([x,rhs(Éq_normale[1]),x=19/9..3.5],color=navy):
D_normale[2]:=plot([x,rhs(Éq_normale[2]),x=19/9..3.5],color=navy):
Point_n:=pointplot([19/9,-3],symbol=solidcircle,symbolsize=15):
display({Point_n,Ellipse,D_normale[1],D_normale[2]},view=[-3..5,-6.
.1]);
> display({Ellipse,
Point_t,D_tangente[1],D_tangente[2],
Point_n,D_normale[1],D_normale[2]},
view=[-3..6,-6..1]);
Exemple 3
Soit l'équation . Traçons le lieu définie par cette équation.
> Éq:=y^3+y^2-5*y-x^2=-4;
Lieu:=implicitplot(Éq,x=-5..5,y=-5..5);
Trouvons les points de ce tracé où les tangentes sont verticales. Trouvons donc les points où la dérivée
n'existe pas.
> `y'`:=implicitdiff(Éq,y,x);
(3.3.1)
Obtenons les abcisses des points du tracé qui ont 1 et comme ordonnées. Selon le graphique, nous
devrions en trouver deux pour chaque valeur de y.
Substituons la valeur de et dans puis résolvons pour x chaque
équation obtenue.
> solve(subs(y=1,y^3-x^2+y^2-5*y+4=0),{x});
solve(subs(y=-5/3,y^3-x^2+y^2-5*y+4=0),{x});
(3.3.3)