如何在 C++ 中使用 boost 库中的 rayleigh_distribution<>?

How to use rayleigh_distribution<> from boost library in c++?

我正在尝试使用瑞利分布生成随机数。 我已经使用下面的 C++ 库实现了这个:

#include <boost/math/distributions/rayleigh.hpp>

boost::math::rayleigh_distribution<> rayleigh();

我不知道如何使用这个库来 return 与 sigma 有关的号码。

sigma是在构造函数中传递的,所以这样做:

const double sigma = 5.;
boost::math::rayleigh_distribution<> rayleigh(sigma);

方法 sigma() 只是 returns 集合 sigma 的副本,因此您不能使用它。

Scheff 指的是它也可以工作(假设你希望 sigma 为 1。)如果你这样做

boost::math::rayleigh_distribution<> rayleigh{};

因为这与函数声明没有歧义,但将 sigma 设置为 1。