溫馨提示×

c++隨機函數如何產生高斯分布

c++
小樊
224
2024-06-24 17:08:36
欄目: 編程語言

在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庫才能使用這種方法。

這兩種方法都可以用來生成服從高斯分布的隨機數。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女