如何在MATLAB中重命名循环中的变量?

San*_*hit 4 matlab

有人可以告诉我在MATLAB中是否存在在循环的每次迭代中重命名变量的方法吗?

实际上,我想在一个包含循环索引的不同名称的循环中保存一个变量.谢谢.

Mar*_*sen 12

根据您的评论,我建议使用单元格数组.这允许通过索引存储任何类型的结果.例如:

foo=cell(bar,1);
for ii=1:bar
    foo{ii}=quux;
end
Run Code Online (Sandbox Code Playgroud)

然后,您可以保存foo以保留所有中间结果.虽然循环索引没有根据需要烘焙到变量名中,但它提供了相同的功能.

  • +1:......在大多数情况下,最好避免使用eval,因为有时eval是邪恶的...... (5认同)

Mik*_*ail 8

忽略这个问题,"你为什么需要这个?",你可以使用这个eval()功能:

例:

for i = 1:3
  eval(['val' num2str(i) '=' num2str(i * 10)]);
end
Run Code Online (Sandbox Code Playgroud)

输出是:

val1 =
    10

val2 =
    20

val3 =
    30
Run Code Online (Sandbox Code Playgroud)