【发布时间】:2016-08-31 19:36:23
【问题描述】:
我有一个循环计算多个条件的平均值 (m)、标准差 (std) 和标准误差 (sem)。因为每个条件都有自己的m、std 和sem,我想相应地命名我的输出(它们应该是双格式)。例如:cond1_m、cond1_std、cond1_sem、cond2_m、cond2_std、cond2_sem等
这是我尝试过的:
cond={'cond1','cond2','cond3','cond4','cond5',...}
for a=1:length(cond)
[strcat(cond{a},'_m'),strcat(cond{a},'_std'),strcat(cond{a},'_sem')]=compute_stats(M(:,a));
end
注意:compute_stats 是输出m、std 和sem 的函数。 M 是包含我的数据的矩阵。问题是strcat 似乎不能作为更改输出名称的一种方式。例如,对于迭代 1,我的输出不是给我cond1_m,而是一个名为 strcat 的矩阵。
谁能帮忙?
【问题讨论】:
-
请don't use
evalin matlab。我建议使用具有动态字段名称的结构,语法为condstruc.([num2str(a), '_m'])等。