我有以下代码:
global a;
syms x y;
a(x,y) = 1+0*x*t; %this will be changed in future
在2012b中,此代码出错:
Error using sym/subsindex (line 1367)
Indexing input must be numeric, logical or ':'.
当我在global a
之后放置行a(x,y)=1+0*x*t
时,此代码开始工作,但会发出警告“未来版本的MATLAB在使用之前需要将变量定义为全局变量”。这是奇怪的行为。
为什么MATLAB不能只创建全局符号功能?为什么MATLAB试图将其解释为数组而不是符号函数?