我boost::histogram
在 [-3.5,3.5] 范围内有 100 个垃圾箱。我用数据向量填充它qp
。由于我使用周期性 BC,所有 q in 的值qp
都在 [-3.5,3.5] 中。
auto h = boost::histogram::make_histogram(boost::histogram::axis::regular<>(100, -3.5, 3.5));
for (auto&& value : qp)
h(value.first);
为了安全起见,我计算了垃圾箱中的所有点
int samplesize = 0;
for (auto&& it : indexed(h))
samplesize += *it;
我为情节准备数据
for (auto&& it : indexed(h)) {
const auto bin = it.bin(0_c);
double xaxis = bin.lower();
double density = *it / samplesize;
const std::pair<double, double> paar = std::make_pair(xaxis,density);
printToStream(file, paar);
}
结果让我很困惑。它应该是一个归一化的概率分布,但绝对不是(y 轴上的值太低了)
有没有一种boost
方法可以自动获得(标准化)相对频率?