我正在尝试使用Matlab中的eval
为动态变量赋值。我正在使用Matlab R2013a。我可以很容易地做旧版本,但不是在R2013a。是的,我知道使用eval
等的陷阱。我也试过assignin
,但那不成功。
Bins = [10 100 20];
Cols = numel(Bins);
for i = 1:Cols
eval(['Var' num2str(i) ' = Cols+i']);
end
错误 - >尝试将“Var”添加到静态工作区。
所需的输出
Var1 = 4
Var2 = 5
Var3 = 6
答案 0 :(得分:2)
嵌套函数中的代码是什么?请参阅The MathWorks中的this article。
如果必须以这种方式创建变量(有更多更好的选项),那么您需要在main函数中执行它或使用子函数。有关不同类型的函数以及如何使用它们的详细信息,请参阅此article on sharing data between workspaces。