### 9.4.17 L’affectation d’une égalité : `assign`

`assign` permet de stocker une valeur dans une variable.
`assign` a un ou deux arguments :

- un argument : une égalité entre un nom de variable et la valeur à stocker, ou une listed’égalité entre des noms de variable et les valeurs à stocker,
- deux arguments : un nom de variable et la valeur à stocker.

Attention
La variable doit être purgée avant l’utilisation de `assign`.
On tape :

`assign(a,3)`

ou :

`assign(a=3)`

On obtient :

`3 et la variable a contient 3`

On tape :

`assign([a1=1,a2=2,a3=3)`

On obtient :

`[1,2,3] et a1 contient 1, a2 contient 2 et a3 contient 3`

Remarque `assign` sert surtout en mode Maple, voici un exemple : On tape en mode Maple :

`purge(a,b)`
`sol:=solve([a+b=1,a-b=3],[a,b])`

On obtient :

`[a=2,b=(-1)]`

On tape :

`assign(sol)`

On obtient :

`[2,-1] et ainsi a contient 2 et b contient -1`

en mode `Xcas` la même suite d’instructions donnent :

`sol:=solve([a+b=1,a-b=3],[a,b])`

On obtient la liste des solution donc ici une matrice 1×1 :

`[[2,-1]]`

On tape :

`[a,b]:=sol[0])`

On obtient :

`[2,-1] et ainsi a contient 2 et b contient -1`