我有数据集存储到几个变量,如:p1_5,p1_7,p1_9 .... p1_19,我想计算每个数据集的std()。现在如何在matlab中进行for循环?如何将'p1_'连接到n,但仍然将其保存为变量而不是字符串?
for n = 5:2:19
std(p1_??);
end
答案 0 :(得分:3)
您可以使用eval
:
for n = 5:2:19
eval(['std(p1_', num2str(n), ')']);
end
但您应该考虑重构您的代码而不必。你能将所有p1
存储在3D矩阵或单元阵列中吗?
答案 1 :(得分:2)
您可以将它们放在单元格数组中。更好的是,如果它们具有相同的尺寸,则将它们堆叠在矩阵中。