c++正太分布随机数生成
时间: 2023-11-13 21:54:49 浏览: 190
可以使用C++标准库中的<random>头文件中的normal_distribution类来生成正态分布随机数。具体实现代码如下:
```c++
#include <iostream>
#include <random>
int main() {
std::random_device rd;
std::mt19937 gen(rd());
std::normal_distribution<> dis(0, 1); // 均值为0,标准差为1的正态分布
for (int i = 0; i < 10; ++i) {
std::cout << dis(gen) << ' ';
}
std::cout << std::endl;
return 0;
}
```
其中,std::random_device用于获取真正的随机数种子,std::mt19937是一个高质量的随机数生成器,std::normal_distribution是正态分布随机数生成器。
相关问题
c++生态分布生成随机数
为了在C++中生成正态分布的随机数,可以使用C++标准库中的`<random>`头文件中的`normal_distribution`类。该类的构造函数需要两个参数:均值和标准差。然后,可以使用该类的`operator()`方法生成正态分布的随机数。
以下是一个示例代码:
```c++
#include <iostream>
#include <random>
int main() {
// 设置随机数生成器
std::random_device rd;
std::mt19937 gen(rd());
// 设置正态分布的均值和标准差
double mean = 0.0;
double stddev = 1.0;
std::normal_distribution<double> dist(mean, stddev);
// 生成正态分布的随机数
for (int i = 0; i < 10; ++i) {
std::cout << dist(gen) << std::endl;
}
return 0;
}
```
该代码使用`std::random_device`生成随机数种子,然后使用`std::mt19937`作为随机数生成器。接下来,设置正态分布的均值和标准差,并使用`std::normal_distribution`类生成正态分布的随机数。最后,使用`operator()`方法生成随机数并输出。
阅读全文