La fonction diff permet de calculer la dérivée d'une
expression par rapport à une ou plusieurs de ses variables. Pour
dériver une fonction
,
on peut appliquer diff à l'expression
, mais alors le
résultat est une expression. Si on souhaite définir la fonction
dérivée, il faut utiliser function_diff.
E:=x^2-1 diff(E) f:=unapply(E,x) diff(f(x)) f1:=function_diff(f)
Il ne faut pas définir la fonction dérivée par
f1(x):=diff(f(x)), car x aurait dans cette définition
deux sens incompatibles : c'est d'une part la
variable formelle de dérivation et d'autre part l'argument
de la fonction f1. D'autre part, cette définition
évaluerait diff à chaque appel de la fonction, ce
qui serait inefficace
(dans la définition d'une fonction, le membre de droite n'est
pas évalué). Il faut donc soit utiliser
f1:=function_diff(f),
soit f1:=unapply(diff(f(x)),x).
La fonction diff s'applique à n'importe quelle combinaison de
variables, et permet de calculer des dérivées partielles
successives.
E:=sin(x*y) diff(E,x) diff(E,y) diff(E,x,y)-diff(E,y,x) simplify(ans()) diff(E,x$2,y$3)
Si le deuxième argument de diff est une liste, une
liste de dérivées est retournée. Par exemple pour calculer
le gradient de
:
diff(sin(x*y),[x,y]) (on peut aussi utiliser grad).
Des commandes particulières permettent de calculer les
combinaisons classiques de dérivées partielles.
| Dérivées | |
diff(ex) |
dérivée d'une expression |
function_diff(f) |
dérivée d'une fonction |
diff(ex,x$n,y$m) |
dérivées partielles |
grad |
gradient |
divergence |
divergence |
curl |
rotationnel |
laplacian |
laplacien |
hessian |
matrice hessienne |