考虑下面的例子:
为什么'a'和'a2'返回不同的值,即为什么使用cellfun不声明变量存在于工作区?我错过了什么?
dat1 = 1;
dat2 = 2;
Variables = {'dat1','dat2'};
a = cellfun(@(x)exist(x,'var'),Variables);
for i = 1:length(Variables);
a2(i) = exist(Variables{i},'var');
end
为什么'a'和'a2'返回不同的值,即为什么使用cellfun不声明变量存在于工作区?我错过了什么?
@
的函数表达式:1. 可以访问环境中的变量 -and- 2. 保留了参数的正确类型。两者都是正确的,这真的很奇怪。在我看来,你刚刚发现了cellfun
或exist
中的一个错误!恭喜 :) - plesiv