matlab中(key,value)单元格数组中重复键的平均值

时间:2015-07-07 22:54:07

标签: matlab

我在单元格数组中有2列作为键和值enter image description here

我想要一个与每个键对应的值,因此我删除了重复值:wd=finalAlp93val; [~,idx]=unique(strcat(wd(:,1),wd(:,2)) , 'rows') finalAlp93val = wd(idx,:)

但结果导致更高的变异。如何在matlab中使用相同的键平均所有值。每个键的行数在这里是可变的。 (此处键是第一列,值是第二列,我想为每个键实现平均值。)

1 个答案:

答案 0 :(得分:1)

这里是如何使用最小的例子:

key=wd(:,1);
val=wd(:,2);
ukey=unique(key);

for n=1:numel(ukey)
    mean_value(n)=mean(val(key==ukey(n)));
end

所以你可以按如下方式将它们展示在一起:

 [ukey(:) mean_value(:)]