我有许多包含数据的向量,我必须以同样的方式详细说明,它们以这种方式命名:“data1”,“data2”ecc ...我想用for循环自动化该过程,我如何使用索引迭代地“选择”变量? 例如,我的详细说明的第一行是像“x = data1”这样的赋值,我希望第二个循环执行“x = data2”等等。 提前谢谢
答案 0 :(得分:0)
您可以使用strcat
和num2str
的组合来创建变量的名称
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