1.35.5 Δημιουργία μιας ακολουθίας ή μιας λίστας : seq $
seq παίρνει δύο, τρία, τέσσερα ή πέντε ορίσματα : το πρώτο όρισμα είναι μια παράσταση ως προς την μεταβλητή (για παράδειγμα) j και τα υπόλοιπα ορίσματα περιγράφουν ποιές τιμές του j θα χρησιμοποιηθούν για να παράγουν την ακολουθία.
Πιο συγκεκριμένα, το j θα μεταβληθεί από a έως b:
-
με ένα βήμα που από προεπιλογή είναι 1 ή -1:
j=a..b ή
j,a..b (σύνταξη του Maple),
j,a,b (σύνταξη του TI)
- ή με ένα συγκεκριμένο βήμα:
j=a..b,p (σύνταξη του Maple),
j,a,b,p (σύνταξη του TI).
Εάν χρησιμοποιείται η σύνταξη του Maple, η
seq επιστρέφει μια ακολουθία,
και εάν χρησιμοποιείται η σύνταξη του TI, η
seq επιστρέφει μια λίστα.
$ είναι η ενθηματική εκδοχή του
seq, όταν
seq έχει δύο ορίσματα,
και επιστρέφει πάντα μια ακολουθία.
Σχόλιο:
-
Στον τρόπο λειτουργίας
Xcas, η προτεραιότητα του
$ δεν είναι ίδια με εκείνη,
για παράδειγμα, του
Maple, γιαυτό σε περίπτωση αμφιβολίας
βάλτε τα ορίσματα του
$ σε παρενθέσεις.
Για παράδειγμα, το ισοδύναμο του
seq(j
^
2,j=-1..3) είναι
(j^
2)$(j=-1..3) και
επιστρέφει
(1,0,1,4,9).
Το ισοδύναμο του
seq(4,3) είναι
4$3 και επιστρέφει
(4,4,4).
- Με την σύνταξη του
Maple, το
j,a..b,p δεν είναι έγκυρο.
Για να ορίσετε ένα βήμα p, για την μεταβολή του
j από το a στο b, χρησιμοποιήστε
j=a..b,p ή χρησιμοποιήστε πρώτα την σύνταξη του
TI
j,a,b,p και πάρτε την ακολουθία από την λίστα με το
op(...).
Συνοψίζοντας, οι διαφορετικοί τρόποι για να δημιουργήσετε μια ακολουθία είναι οι εξής :
-
με σύνταξη του
Maple
-
seq έχει δύο ορίσματα :
είτε μια παράσταση που εξαρτάται από την παράμετρο
(για παράδειγμα) j και j=a..b, όπου a και b είναι πραγματικοί αριθμοί,
είτε μια σταθερή παράσταση και έναν ακέραιο n.
seq επιστρέφει : είτε την ακολουθία όπου j αντικαθίσται στην
παράσταση από a, a+1,...,b εάν b>a και από a, a−1,...,b εάν b<a,
είτε την ακολουθία που προκύπτει αντιγράφοντας n φορές την σταθερά.
-
seq έχει τρία ορίσματα : μια παράσταση που εξαρτάται από την παράμετρο
(για παράδειγμα) j και j=a..b,p όπου a, b και p είναι
πραγματικοί αριθμοί.
seq επιστρέφει την ακολουθία όπου το j αντικαθίσταται στην
παράσταση από τα a, a+p,...,b εάν b>a και από a, a−p,...,b
εάν b<a.
Σημειώσατε ότι j,a..b είναι επίσης έγκυρο αλλά j,a..b,p δεν είναι έγκυρο.
- με σύνταξη του
TI
-
seq έχει τέσσερα ορίσματα : μια παράσταση που εξαρτάται από την παράμετρο (για
παράδειγμα) j, το όνομα της παραμέτρου (για παράδειγμα) j, a και b όπου
a και b είναι πραγματικοί.
seq επιστρέφει την λίστα όπου j αντικαθίσταται στην παράσταση από
a, a+1,...,b εάν b>a και από a, a−1,...,b εάν b<a.
-
seq έχει πέντε ορίσματα : μια παράσταση που εξαρτάται από την παράμετρο (για
παράδειγμα) j, το όνομα της παραμέτρου (για παράδειγμα) j, a, b και p
όπου a, b και p είναι πραγματικοί αριθμοί.
seq επιστρέφει την λίστα όπου το
j αντικαθίσταται στην παράσταση
από a, a+p,...,a+k*p (a+k*p ≤ b <a+(k+1)*p ή
a+k*p ≥ b> a+(k+1)*p).
Από προεπιλογή, p=1 εάν b>a και p=-1 εάν b<a.
Σημειώσατε ότι
με σύνταξη του
Maple, η
seq δεν παίρνει παραπάνω από 3 ορίσματα και
επιστρέφει μια ακολουθία, ενώ
με σύνταξη του
TI, η
seq παίρνει τουλάχιστον 4 ορίσματα
και επιστρέφει μια λίστα.
Είσοδος για να έχουμε μια ακολουθία με ίδια στοιχεία :
seq(t,4)
ή :
seq(t,k=1..4)
ή :
t$4
Έξοδος :
(t,t,t,t)
Είσοδος για να έχουμε μια ακολουθία:
seq(j^
3,j=1..4)
ή :
(j^
3)$(j=1..4)
ή:
seq(j^
3,j,1..4)
Έξοδος :
(1,4,9,16)
Είσοδος για να έχουμε μια ακολουθία :
seq(j^
3,j=-1..4,2)
Έξοδος :
(1,1,9)
Ή για να έχουμε μια λίστα,
Είσοδος :
seq(j^
3,j,1,4)
Έξοδος :
[1,4,9,16]
Είσοδος :
seq(j^
3,j,0,5,2)
Έξοδος :
[0,8,64]
Είσοδος :
seq(j^
3,j,5,0,-2)
ή
seq(j^
3,j,5,0,2)
Έξοδος :
[125,27,1]
Είσοδος :
seq(j^
3,j,1,3,0.5)
Έξοδος :
[1,3.375,8,15.625,27]
Είσοδος :
seq(j^
3,j,1,3,1/2)
Έξοδος :
[1,27/8,8,125/8,27]
Παραδείγματα
-
Για να βρείτε την τρίτη παράγωγο της ln(t), εισάγετε :
diff(log(t),t$3)
Έξοδος :
-((-(2*t))/t^
4)
- Είσοδος :
l:=[[2,3],[5,1],[7,2]]
seq((l[k][0])$(l[k][1]),k=0 .. size(l)-1)
Έξοδος :
2,2,2,seq[5],7,7
έπειτα η
eval(ans()) επιστρέφει:
2,2,2,5,7,7
- Για να μετασχηματίσετε μια συμβολοσειρά σε μια λίστα από τους χαρακτήρες της ορίστε πρώτα την συνάρτηση :
f(chn):={
local l;
l:=size(chn);
return seq(chn[j],j,0,l-1);
}
και μετά εισάγετε:
f("abracadabra")
Έξοδος :
["a","b","r","a","c","a","d","a","b","r","a"]