### 1.12.17 Αντικατάσταση μιας μεταβλητής με μια τιμή (συμβατότητα με Maple και Mupad ) : `subs`

Στο `Maple` και στο `Mupad`, κάποιος θα χρησιμοποιούσε την εντολή `subs` για να αντικαταστήσει σε μια παράσταση μια μεταβλητή με μια τιμή. Αλλά η σειρά των ορισμάτων διαφέρει ανάμεσα στο `Maple` και στο `Mupad`. Επομένως, για να επιτευχθεί η συμβατότητα, η διάταξη των ορισμάτων της εντολής `subs` του `Xcas` εξαρτάται από τον τρόπο λειτουργίας του

- Στον τρόπο λειτουργίας `Maple`, το `subs` παίρνει δύο ορίσματα: μια ισότητα (μεταβλητή=τιμή αντικατάστασης) και την παράσταση.
  Για την αντικατάσταση πολλών μεταβλητών σε μια παράσταση, χρησιμοποιείστε μια λίστα με ισότητες (όνομα μεταβλητής = τιμή αντικατάστασης) ως πρώτο όρισμα.
- Στον τρόπο λειτουργίας `Mupad` ή `Xcas` ή `TI`, το `subs` παίρνει δύο ή τρία ορίσματα : μία παράσταση και μια ισότητα (μεταβλητή=τιμή αντικατάστασης) ή μια παράσταση, ένα όνομα μεταβλητής και την τιμή αντικατάστασης.
  Για την αντικατάσταση διαφόρων μεταβλητών, το `subs` παίρνει δύο ή τρία ορίσματα :
  - μια παράσταση από μεταβλητές και μια λίστα με ισότητες (όνομα μεταβλητής = τιμή αντικατάστασης),
  - μία παράσταση από μεταβλητές, μια λίστα από μεταβλητές και μία λίστα από τις τιμές αντικατάστασης.

`subs` επιστρέφει την παράσταση όπου έχει γίνει η αντικατάσταση. Να σημειωθεί πως το `subs` δεν αναφέρει ( quote) το όρισμά του, γιαυτό το λόγο σε μια κανονική διαδικασία αποτίμησης, δεν θα πρέπει να έχει γίνει απόδοση τιμής στην μεταβλητή που αντικαθίσταται, αλλιώς θα αντικαθίσται από την τιμή που της αποδόθηκε πριν να γίνει η αντικατάσταση.
Εισάγετε στον τρόπο λειτουργίας `Maple` (εάν δεν έχει αποδοθεί τιμή στην `a` αλλιώς εισάγετε `purge(a)`) :

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

Έξοδος

`2```^```2+1`

Εισάγετε στον τρόπο λειτουργίας `Maple` (εάν δεν έχουν αποδοθεί τιμές στις μεταβλητές `a` και `b` αλλιώς εισάγετε `purge(a,b)`):

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

Έξοδος :

`2```^```2+1`

Είσοδος :

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

ή :

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

Έξοδος (εάν δεν έχει αποδοθεί τιμή στην μεταβλητή `a` αλλιώς εισάγετε `purge(a)`) :

`5`

Είσοδος :

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

ή :

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

Έξοδος (εάν δεν έχουν αποδοθεί τιμές στις μεταβλητές `a` και `b` αλλιώς εισάγετε `purge(a,b)`) :

`2```^```2+1`