Section : Pour commencer
Précédent : Itérateurs
Suivant : Fonctions

Variables et paramètres

MuPAD distingue entre variables et paramètres au moment de la définition des fonctions. Pour fabriquer une fonction à partir d'une expression qui est une combinaison de paramètres, on peut utiliser fun, func, ->, proc ou la fonction unapply du module fp. Avec fun, les variables sont nommées args(1), args(2)..., avec func ou unapply, elles sont explicitement nommées comme arguments dans l'expression. Elles apparaissent à gauche de l'opérateur -> ou comme argument de proc(). Quand on utilise ->, il est important de ne pas oublier les parenthèses autour de l'expression.
f := fun(a*sin(args(1)));
f(t);
f := fun(args(1)*sin(args(2)));
f(k,k*PI/2) $ k=0..4;

f := func(a*sin(x),x);
f(t);
f := func(a*sin(x),a,x);
f(k,k*PI/2) $ k=0..4;

f := x -> (a*sin(x));
f(k*PI/2) $ k=0..4;
f := x-> a*sin(x);
f(k*PI/2) $ k=0..4;
f := (x,y) -> (if x>0 and y>0 then sqrt(x*y) else 0 end_if);
(f(u,v)$ u=-1..2) $ v=-1..2;
f := (x,a,b,c) -> (a*x^2 + b*x + c);
f(t,aa,bb,cc);
g := x -> f(x,a,b,c);
g(t);

f := proc(x) begin a*x^2+b*x+c end_proc;
f(t);

f := fp::unapply(x^2+x+1,x);
f(t);
f := fp::unapply(sin(x),x);
f(t);

On peut toujours affecter ou modifier la valeur d'un paramètre, en utilisant la fonction subs (substituer).

f := x -> (a*x^2 + b*x + c);
g := x -> subs(f(x),a=1,b=2,c=u);

Les valeurs affectées sont conservées tout au long d'une session. Ceci entraîne qu'on ne pourra pas réutiliser comme variable un symbole déjà affecté, à moins de le libérer à l'aide de unassign. On peut libérer toutes les valeurs déjà utilisées au cours de la session par reset.

x:=2;
a*x^2+b*x+c;
unassign(x);
a*x^2+b*x+c;

x:=2: a:=1: b:=2: c:=3:
a*x^2+b*x+c;
reset();
a*x^2+b*x+c;