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