0

我正在尝试使用evalMatlab 将值分配给动态变量。我正在使用 Matlab R2013a。我可以很容易地做到旧版本,但不能在 R2013a 中。是的,我知道 usingeval等的陷阱。我也尝试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
4

1 回答 1

2

该代码是否在嵌套函数中?请参阅The MathWorks 的这篇文章

如果您必须以这种方式创建变量(有更好的选择),那么您需要在主函数中执行它或使用子函数。有关不同类型的功能以及如何使用它们的详细信息,请参阅这篇关于在工作区之间共享数据的文章。

于 2013-10-31T18:49:52.313 回答