函数 seq 是最有用的生成序列的命令, 通常用于写出具有一定规律的序列的通项, 命令格式为:
seq(f(i), i=m..n); # 生成序列 f(m), f(m+1), …, f(n) (m,n 为任意有理数)
seq(f(i), i=expr); # 生成一个 f 映射 expr 操作数的序列
seq(f(op(i,expr)), i=1..nops(expr)); # 生成 nops(expr)个元素组成的序列
>
seq(i^2,i=1..10);
1, 4, 9, 16, 25, 36, 49, 64, 81, 100
>
seq(i^3,i=x+y+z);
x
3
, y
3
, z
3
获得一个序列中的特定元素选用操作符[ ], 如:
>
seq(ithprime(i),i=1..20);
2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71
>
%[6],%[17];
13, 59
4.2.2 列表
列表(list), 就是把对象(元素)放在一起的一种数据结构, 一般地, 用方括号[ ]表示列表. 如下例:
>
l:=[x,1,1-z,x];
l := [ x, 1, 1 z, x ]
>
whattype(%);
list
4.2.3 集合
集合(set)也是把对象(元素)放在一起的数据结构,一般地, 用花括号表示集合.
>
s:={x,1,1-z,x};
s := { 1, x, 1 z }
>
whattype(%);
set
空集定义为{ }.
Maple 中集合的基本运算有交(intersect)、并(union)、差(minus):
>
A:={seq(i^3,i=1..10)};B:={seq(i^2,i=1..10)};
A := { 1, 8, 27, 64, 125, 216, 343, 512, 729, 1000 }
B := { 1, 4, 9, 16, 25, 36, 49, 64, 81, 100 }
>
A intersect B;
{ 1, 64 }
4.3 数组和表
在 Maple 中, 数组(array)由命令 array 产生, 其下标变量(index)可以自由指定. 下标由 1 开始的一维
数组称为向量(vector), 二维以上的数组称为矩阵 (matrix). 数组的元素按顺序排列 , 任意存取一数组的
元素要比列表或序列快的多. 区分一个数据结构是数组还是列表要用“type”命令.
表(table)在建立时使用圆括号, 变量能对一个表赋值 , 但一个在存取在算子中的未赋值变量会被自
动地假定是表, 表的索引可以成为任意 Maple 表达式. 表中元素的次序不是固定的.
请浏览后下载,资料供参考,期待您的好评与关注!