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;