我正在做的一个简单示例如下:
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::Matrix
转换为Function
。我试过了:
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);
有没有办法转换这些类型?
答案 0 :(得分:1)
虽然变量X
本身是DOM::Matrix()
,但它包含的单个元素是算术表达式,因此您需要将元素本身传递给绘图函数:
plotfunc2d(X[1],t=-2*PI..2*PI);