有没有办法从枫树的Vector中获取坐标?例如,如果我想要函数f(V) = sin(V[0]) + cos(V[1]) + V[2]
其中V =(x,y,z)。在枫树有可能吗?
答案 0 :(得分:3)
在Maple中,Vector从1(而不是0)开始索引。所以第一个条目是V [1],而不是V [0]。
此外,可以使用Vector
命令或其角括号快捷方式表示法构造Vector。圆括号不构造Vector,因为它们是函数应用程序的分组或参数的分隔符。
restart:
f := V -> sin(V[1]) + cos(V[2]) + V[3]:
W := Vector([a,b,c]):
f(W);
sin(a) + cos(b) + c
Y := <3,7,11>:
f(Y);
sin(3) + cos(7) + 11
Array更灵活,可以构造为从0开始索引。
g := V -> sin(V[0]) + cos(V[1]) + V[2]:
W := Array(0..2,[q,r,s]):
g(W);
sin(q) + cos(r) + s
请注意,LinearAlgebra包处理Matrix和Vector。此外,一些算术运算(例如.
)以元素方式对Array进行操作,而不是您对计算线性代数所期望的方式。
restart:
F := Array(1..3,[q,r,s]):
F . F;
[ 2 2 2]
[q , r , s ]
U := Vector[row]([q,r,s]):
U . U;
_ _ _
q q + r r + s s
注意在最后一个例子中出现的复共轭。与Matrix结构相比,二维数组也在.
运算符下以元素方式相乘。