Subs

> subs(exprold = exprnew,expr);

Permet de substituer toutes les chaînes de caractères exprold par exprnew dans l'expression expr.

L'argument de cette commande peut être (eqn1, ..., eqnn, expr)eqni est de la forme exproldi = exprnewi. Dans ce cas, la substitution est faite séquentiellement de gauche à droite.

Exemple

> expr := x + y;
expr := x + y

> subs(x = cos(x), expr);
cos(x) + y

> subs(x = cos(x), x = y, expr);
cos(y) + y

> subs(x = y, x = cos(y), expr);
2y

Remarque: puisque cette commande remplace des "chaînes de caractères", il est possible de substituer des expressions assez complexes, en autant que la chaîne de caractère se retrouve intégralement dans l'expresion et qu'elle soit "encapsulée" par une opération.

Exemple

> expr := sin(x + y);
expr := sin(x + y)

> subs(x + y = cos(x), expr);
sin(cos(x))

Mais si on a
> expr := sin(x + y + z);
expr := sin(x + y + z)

> subs(x + y = cos(x), expr);
sin(x + y + z)

Par contre, il est possible de faire
> expr := sin((x + y)^2 + z);
expr := sin((x + y)2 + z)

> subs(x + y = cos(x), expr);
sin(cos(x)2 + z)

Attention: c'est l'une des commandes les plus sollicitées dans les calculs. Elle est, somme toute, assez simple. Cependant, son usage peut-être, dans certain cas, très subtile.