gpt4 book ai didi

c++ - 我怎样才能从 boost::random 得到 lognormal_distribution 来像 boost::math::lognormal_distribution

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:59:02 24 4
gpt4 key购买 nike

我想要一个 boost::variate_generator,它根据 http://en.wikipedia.org/wiki/Log-normal_distribution 给我分配给对数正态分布的数字.

boost::math 中有一个分布实现了维基百科条目中的公式,但它不适用于 variate_generator。来自 boost::random 的那个与 variate_generator 一起工作,与上面提到的有些不同。

http://www.boost.org/doc/libs/1_46_1/doc/html/boost/lognormal_distribution.html . Mu 需要 >0 并且计算 mu 和 sigma 而不是按给定的方式使用。

有人知道如何让它与以前的公式一起使用吗?

编辑

@霍华德欣南特:

有一个在构造函数中调用的 init() 函数。所以公式是一样的,但是 sigma 和 mean 是这样计算的(为什么我不知道):

   _nmean = log(_mean*_mean/sqrt(_sigma*_sigma + _mean*_mean));
_nsigma = sqrt(log(_sigma*_sigma/_mean/_mean+result_type(1)));

最佳答案

我可能弄错了,但从检查 boost 代码来看,在我看来 boost lognormal_distribution 与维基百科的描述一致。如果 boost 文档从 mu 和 sigma 中删除 N 下标,文档将是一致的。

关于c++ - 我怎样才能从 boost::random 得到 lognormal_distribution 来像 boost::math::lognormal_distribution,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5283977/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com