在matlab中将字符串连接为变量?

时间:2013-11-25 12:35:03

标签: string matlab for-loop

我有数据集存储到几个变量,如:p1_5,p1_7,p1_9 .... p1_19,我想计算每个数据集的std()。现在如何在matlab中进行for循环?如何将'p1_'连接到n,但仍然将其保存为变量而不是字符串?

for n = 5:2:19
    std(p1_??);  
end

2 个答案:

答案 0 :(得分:3)

您可以使用eval

for n = 5:2:19
    eval(['std(p1_', num2str(n), ')']);  
end

但您应该考虑重构您的代码而不必。你能将所有p1存储在3D矩阵或单元阵列中吗?

答案 1 :(得分:2)

您可以将它们放在单元格数组中。更好的是,如果它们具有相同的尺寸,则将它们堆叠在矩阵中。