【发布时间】:2012-06-04 17:44:58
【问题描述】:
假设我有向量:
y = [1 1.01 1.02 1.03 2 2.01 2.02 3 3.01 3.02 3.03];
c = [0 0 0 0 1 1 1 2 2 2 2 ];
有没有一种矢量化的方法来获得“分组均值”,即y 的每个唯一值c 的平均值? (这是一个简化的例子;我有类似的东西,但向量大小是数千个,c 有数百个值)
我可以在 for 循环中完成,只是想知道它是否可以向量化。这是我的 for 循环实现:
function [my,mc] = groupmean(y,c)
my = [];
mc = [];
for ci = unique(c)'
mc(end+1) = ci;
my(end+1) = mean(y(c==ci));
end
【问题讨论】:
标签: matlab statistics