0

我正在尝试运行此代码

   syms x m
eq3 = m-['(heaviside(x)-heaviside(x-1))*x^3/6  ']; 
    %...
    % '(heaviside(x-1)-heaviside(x-2))*(1/6)*(-3*x) + ' ...
    % '(heaviside(x-2)-heaviside(x-3))*(1/6)*(3*x^3-24*x^1) + ' ...
    % '(heaviside(x-3)-heaviside(x-4))*(1/6)*(4-x)^3'];
eq2=-x+(.6/.0360)*m;

sol = solve(eq3,eq2);

但我不断收到此错误

MuPAD 符号对象没有实现函数“lt”。

我搜索并发现我需要使 xa 加倍,所以我尝试了,但是当我输入 x=double(x) 行时,我得到了这个错误

MuPAD 命令出错:DOUBLE 无法将输入表达式转换为双精度数组。如果输入表达式包含符号变量,请改用 VPA 函数。

==> sym.sym>sym.double 中的错误 927 Xstr = mupadmex('mllib::double', Ss, 0);

如果我使用 VPA,并将行 x=vpa(x) 我收到以下错误

MuPAD 符号对象没有实现函数“lt”。

==> sym.sym>sym.lt 中的错误 803 notimplemented('lt');

请指教,谢谢!

4

1 回答 1

0

这是你想要的吗?

eq3 = sym('m - (heaviside(x)-heaviside(x-1)) * x^3/6');
solve(eq3)
于 2012-03-14T19:40:52.463 回答