2016-02-26 59 views
1

的我在做什么是如下一个简单的例子转换:如何DOM ::矩阵功能

s := t*0.2: 
b := matrix([0.5,0.6,0.1]): 
f := matrix([sin(s),cos(s),s]): 
X := transpose(b)*(f); 
plotfunc2d(X,t=-2*PI..2*PI); 

的错误是:

Error: Expecting an arithmetical expression or a function. Got a 'Dom::Matrix()' for attribute 'Function' in the 'Function2d' object.

所以,我需要转换从Dom::MatrixFunction的类型。我曾尝试:

coerce(X,DOM_EXPR); 

我知道,简单地说,这个工程:

s := t*0.2: 
x := 0.5*sin(s)+0.6*cos(s)+0.1*s; 
plotfunc2d(x,t=-2*PI..2*PI); 

有没有一种方法来转换这些类型的?

回答

1

虽然可变X本身就是一个DOM::Matrix(),它包含了一个元素是一个算术表达式,所以你需要的元素本身传递给绘图功能:

plotfunc2d(X[1],t=-2*PI..2*PI); 
+0

完美!我没有想到它。 – NKN