Matlab For Cycle,选择以增量数命名的变量

时间:2018-05-07 13:16:54

标签: matlab for-loop

我有许多包含数据的向量,我必须以同样的方式详细说明,它们以这种方式命名:“data1”,“data2”ecc ...我想用for循环自动化该过程,我如何使用索引迭代地“选择”变量? 例如,我的详细说明的第一行是像“x = data1”这样的赋值,我希望第二个循环执行“x = data2”等等。 提前谢谢

1 个答案:

答案 0 :(得分:0)

您可以使用strcatnum2str的组合来创建变量的名称

i = 1;
name = strcat("data",int2str(i));

因此将其置于更新i的for循环中将不断更改名称。接下来,您可以使用eval来评估名称

x = eval(name);

总计

for i = 1:n
    name = strcat("data",int2str(i));
    x = eval(name);
end

注1:通常认为以这种方式创建变量名称是不好的做法。将所有变量保存在同一个数组中会更好。由路易斯·门多在评论中联系起来。

注2:它通常被认为是for-loop,而不是for-cycle:D