### 1.12.16 Αντικατάσταση μιας μεταβλητής με μια τιμή : `subst`

`subst` παίρνει δύο ή τρία ορίσματα :

- μια παράσταση που εξαρτάται από μια μεταβλητή, μια ισότητα (μεταβλητή=τιμή αντικατάστασης) ή μια λίστα από ισότητες.
- μια παράσταση που εξαρτάται από μια μεταβλητή, μια μεταβλητή ή μια λίστα από μεταβλητές, μία τιμή ή μια λίστα από τιμές για αντικατάσταση.

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

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

ή :

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

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

`5`

Είσοδος :

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

Ή:

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

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

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

`subst` μπορεί να χρησιμοποιηθεί για αλλαγή μεταβλητής σε ένα ολοκλήρωμα. Σε αυτή την περίπτωση, η εντολή `integrate` θα πρέπει να αναφέρεται (διαφορετικά, το ολοκλήρωμα θα υπολογίζεται πριν την αντικατάσταση) ή να χρησιμοποιείται η αδρανής μορφή `Int`. Και στις δύο περιπτώσεις, το όνομα της μεταβλητής πρέπει να δίνεται ως όρισμα του `Int` ή `integrate` ακόμα και αν ολοκληρώνετε ως προς `x`.
Είσοδος:

`subst(``’``integrate(sin(x```^```2)*x,x,0,pi/2)``’``,x=sqrt(t))`

Ή :

`subst(Int(sin(x```^```2)*x,x,0,pi/2),x=sqrt(t))`

Έξοδος

`integrate(sin(t)*sqrt(t)*1/2*1/t*sqrt(t),t,0,(pi/2)```^```2)`

Είσοδος :

`subst(``’``integrate(sin(x```^```2)*x,x)``’``,x=sqrt(t))`

Ή :

`subst(Int(sin(x```^```2)*x,x),x=sqrt(t))`

Έξοδος

`integrate(sin(t)*sqrt(t)*1/2*1/t*sqrt(t),t)`