### 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`