温馨提示×

c++随机函数如何产生高斯分布

c++
小樊
177
2024-06-24 17:08:36
栏目: 编程语言
C++开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在C++中,可以使用以下方法生成服从高斯分布的随机数:

  1. 使用C++标准库中的normal_distribution类:
#include <iostream>
#include <random>

int main() {
    std::random_device rd;
    std::mt19937 gen(rd());
    std::normal_distribution<double> distribution(mean, std_deviation);

    for (int i = 0; i < 10; ++i) {
        std::cout << distribution(gen) << std::endl;
    }

    return 0;
}

在上面的代码中,mean表示高斯分布的均值,std_deviation表示标准差。

  1. 使用Boost库中的normal_distribution类:
#include <iostream>
#include <boost/random.hpp>

int main() {
    boost::mt19937 gen;
    boost::normal_distribution<double> distribution(mean, std_deviation);

    for (int i = 0; i < 10; ++i) {
        std::cout << distribution(gen) << std::endl;
    }

    return 0;
}

在上面的代码中,mean表示高斯分布的均值,std_deviation表示标准差。需要安装Boost库才能使用这种方法。

这两种方法都可以用来生成服从高斯分布的随机数。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读:c++随机函数如何产生真随机数

0