手动构建一份直方图,计算平均每个本中包含的数据
6视图(30天)
显示旧的评论
大家好,
我试图构建一份直方图手动(不是内置函数),并计算平均每本。给一个更好的解释,我有一个矩阵,包含z位置值(zpos)在第一列和第二列的氢键(hbonds)。介于(zmin)和数据(zmax),如下代码。现在,我想计算的平均值(hbonds),落在每一本(zbin),然后阴谋反对平均(zbin)。附加的代码显示了我想做的但不给我想要的。我将感激你的帮助。
一个= [zpos, hbonds];
zmin = 0.9;
zmax = 1.25;
binsize = 0.05;
n_bins = (zmax-zmin) / binsize;
嘘(1:n_bins) = 0;
hbonds_sum (1: n_bins) = 0;
L_nbins = (0: n_bins-1);
zbin = 0.5 * binsize * L_nbins + zmin;
为i = 1:长度(totalhbondsHHQ0LT35)
Ztemp = zpos(我);
地板bin_id = ((ztemp - zmin) / binsize);
嘘(bin_id) =嘘(bin_id) + 1;
hbonds_sum (bin_id) = hbonds_sum + hbonds(我);
结束
hbonds_ave = hbonds_sum /嘘;
情节(zbin hbonds_ave);
0评论
答案(2)
沃尔特·罗伯森
2023年4月4日
ztemp——zmin可以是0,和地板()的区别当然可以是0,所以你的bin_id可以0。无论你使用bin_id作为索引。
你也应该围捕(装天花板)n_bins在一般情况下。
hbonds_sum (bin_id) = hbonds_sum + hbonds(我);
在右边,hbonds_sum是
整个
向量hbonds_sum。你应该索引hbonds_sum完全相同的方式指数嘘。