是否有一个通用的解决方案可以从输入的一维双精度数据数组中创建一维直方图数据?
不想在C中绘制直方图,我只需要通过分组数据来创建直方图1-D数组。
有人可以帮我理解C中的binning(例如循环)代码是什么样的吗?假设最小和最大数据点是已知的,并且我们想要使用不同箱的可变数(例如hist_pts
)。
答案 0 :(得分:2)
int* bin = calloc(hist_pts,sizeof(int));
float interval = (float)(max - min ) / num_bins;
for (i=0;i<N;i++)
bin[ (int)((value[i]- min)/interval) ]++;
//don't forget to `free(bin) after you use it.