我可以在直方图中得到该特定条(bin)的均值和标准差吗?如果是,我应该使用什么功能或命令?
例如, 假设我有一个(1000,1)测量矩阵,我想在直方图中对它进行分组。 y轴是测量数,x轴是测量值。对于x轴,我们将有0-9,10-19,20-29,30-39等范围。我怎么可能得到标准偏差和20-29范围的平均值?
我正在使用八度音乐。谢谢你。
答案 0 :(得分:4)
我怀疑你可以从直方图中获取这些信息,我想你需要从原始数据中获取它。
data = rand(1000,1)*100;
提取存储在bin中的数据
data_subset = data(data >= 20 & data < 30);
然后得到均值和标准
m = mean(data_subset);
s = std(data_subset);
我想你想一次性完成所有的垃圾箱,为此你需要accumarray
:
data = sort(data);
bin_size = 10;
subs = ceil(data/bin_size);
M = accumarray(subs, data', [length(unique(subs)),1], @mean)
S = accumarray(subs, data', [length(unique(subs)),1], @std)