0

我正在研究一种需要高斯函数和大量循环的算法。
Boost::math::pdf 具有我需要实现的正确公式。

我正在使用 boost::math::normal_distribution normal_distribution(0,sigma) 创建一个正态分布,其中平均值始终为零,并且在调用函数时,sigma 可以在不同时间变化。

然后我想在我的循环中使用函数 boost::math::pdf( normal_distribution , dsitance_from_mean ) 以避免用我自己的查找表重新发明轮子。我通读了 boost 文档来寻找这个答案,但我不太清楚这个函数是如何工作的。

pdf 函数是使用正态分布生成的查找表,还是每次调用时都会计算指数值?

4

1 回答 1

0

我的期望是 Boost 作者会优先考虑准确性而不是性能。

浏览我安装的版本的源代码,我看到很多对 trig/log/exp 函数的调用,没有类似查找表或插值的东西,所以我认为它每次都调用 exp()。

我建议您自己对其进行基准测试,以查看 Boost 代码是否真的是性能瓶颈,然后再实施您自己的查找表。

于 2012-04-26T17:54:31.487 回答