### 6.14.23 Substituer une valeur à une variable (compatibilité Maple et Mupad) : subs

En Maple et en Mupad la commande synonyme de subst est subs, mais l’ordre des paramètres de subs n’est pas le même en Maple et en Mupad.
Ainsi les arguments de subs sont :

- En mode Maple, la fonction subs a deux arguments : une égalité (paramètre=valeur de substitution) et une expression dépendant du paramètre.
  Pour faire plusieurs substitutions, subs a deux arguments : une liste dégalité (paramètre=valeur de substitution) et une expression dépendant de ces paramètres.
- En mode Mupad ou Xcas ou TI, la fonction subs a deux ou trois arguments : une expression dépendant d’un paramètre et une égalité (paramètre=valeur de substitution) ou une expression dépendant d’un paramètre, le paramètre et la valeur de substitution.
  Pour faire plusieurs substitutions, la fonction subs a deux ou trois arguments : une expression dépendant de paramètres et une liste d’égalité (paramètre=valeur de substitution) ou une expression dépendant de paramètres, la liste des paramètres et la liste des valeurs de substitution.

subs effectue la substitution demandée dans l’expression à condition que le paramètre ne soit pas affecté car subs évalue tout d’abord l’expression et remplace donc le paramètre par sa valeur sans tenir compte de la valeur de substitution donnée par le deuxième paramètre.
On tape en mode Maple :

subs(a=2,a`^`2+1)

On obtient (si la variable a n’est pas affectée, sinon il faut taper auparavant purge(a)):

5

Lorsque l’on veut substituer plusieurs variables :
On tape, en mode Maple :

subs([a=2,b=1],a`^`2+b)

On obtient (si les variables a et b ne sont pas affectées, sinon il faut taper auparavant purge(a,b)):

2`^`2+1

On tape, en mode Mupad ou Xcas ou TI :

subs(a`^`2+1,a=2)

ou :

subs(a`^`2+1,a,2)

On obtient (si la variable a n’est pas affectée, sinon il faut taper auparavant purge(a)) :

5

Lorsque l’on veut substituer plusieurs variables :
On tape, dans les modes Mupad Xcas TI :

subs(a`^`2+b,[a=2,b=1])

ou on tape

subs(a`^`2+b,[a,b],[2,1])

On obtient (si les variables a et b ne sont pas affectées, sinon il faut taper auparavant purge(a,b)):

2`^`2+1