如何将DOM :: MATRIX转换为Function

时间:2016-02-26 16:56:13

标签: matlab mupad

我正在做的一个简单示例如下:

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);

有没有办法转换这些类型?

1 个答案:

答案 0 :(得分:1)

虽然变量X本身是DOM::Matrix(),但它包含的单个元素是算术表达式,因此您需要将元素本身传递给绘图函数:

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