如何从枫树的Vector中获取坐标

时间:2013-10-30 19:50:41

标签: maple

有没有办法从枫树的Vector中获取坐标?例如,如果我想要函数f(V) = sin(V[0]) + cos(V[1]) + V[2] 其中V =(x,y,z)。在枫树有可能吗?

1 个答案:

答案 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结构相比,二维数组也在.运算符下以元素方式相乘。