我正在进行从 Matlab 到 C++ 的代码转换,出于某些重要原因,我必须获得均值 = 0 且方差 = 1 的“正态”函数(在 matlab 中为“范数”)的累积分布函数。
Matlab 中的实现是这样的:
map.c = cdf( 'norm', map.c, 0,1 );
这应该是来自 map.c 的直方图的均衡化。
由于我没有小数,问题出现在将其翻译成 C++ 的那一刻。我尝试了很多典型的 cdf 实现:例如我在这里找到的 C++ 代码 ,C/C++ 中的累积正态分布函数,但我严重缺乏小数,所以我尝试了 boost 实现:
#include "boost/math/distributions.hpp"
boost::math::normal_distribution<> d(0,1);
但它仍然与 Matlab 的实现不同(我想它似乎更精确!)
有谁知道我在哪里可以找到这样一个过程的原始 Matlab 源代码,或者我应该考虑哪个小数位数是正确的?
提前致谢!