我知道很多像这样的问题之前已被问过,但是我看到的案例更复杂(即我不理解它们),答案似乎只与特定情况有关。
我的案例很简单(因而广泛适用),取自MATLAB自己的help page:
syms x
f(x) = [x x^2; x^3 x^4];
f(2)
输出应该如下:
ans =
[ 2, 4]
[ 8, 16]
但我收到此错误消息。怎么会?我该如何解决?感谢。
If the input expression contains a symbolic variable, use the VPA
function instead.
Error in ==> sym.sym>sym.double at 936
Xstr = mupadmex('symobj::double', S.s, 0);
Error in ==> sym.sym>privformatscalar at 2678
x = double(x);
Error in ==> sym.sym>privformat at 2663
s = privformatscalar(x);
Error in ==> sym.sym>sym.subsasgn at 1433
[inds{k},refs{k}] = privformat(inds{k});
答案 0 :(得分:3)
您可能有较旧版本的MATLAB(此代码在2011b上也不适用于我)。这应该是等效的:
syms x
f = [x x^2; x^3 x^4];
subs(f,2);