python生成正太随机数
时间: 2023-10-15 19:26:19 浏览: 173
你可以使用Python中的`random`模块和`numpy`库来生成正态分布(正太)随机数。
使用`random`模块生成一个具有正态分布的随机数,可以使用`random.gauss(mu, sigma)`函数,其中`mu`是均值,`sigma`是标准差。例如:
```python
import random
mu = 0 # 均值
sigma = 1 # 标准差
random_number = random.gauss(mu, sigma)
print(random_number)
```
如果你需要生成多个正态分布的随机数,可以使用`numpy`库中的`random.normal(loc, scale, size)`函数,其中`loc`是均值,`scale`是标准差,`size`指定生成的随机数的数量。例如:
```python
import numpy as np
mu = 0 # 均值
sigma = 1 # 标准差
size = 10 # 生成10个随机数
random_numbers = np.random.normal(mu, sigma, size)
print(random_numbers)
```
这样就可以生成一个服从正态分布的随机数了。希望对你有帮助!如果还有其他问题,请随时提问。
相关问题
Python按正太分布生成随机数
在Python中,可以使用`random`模块的`gauss()`函数来生成符合正态分布(也称为高斯分布)的随机数。`gauss()`函数接受两个参数,分别是均值(mean)和标准差(standard deviation)。它会返回一个符合指定均值和标准差的随机数。
下面是一个示例代码:
```python
import random
mean = 0 # 均值
std_dev = 1 # 标准差
random_number = random.gauss(mean, std_dev)
print(random_number)
```
在上述代码中,我们使用均值为0,标准差为1的正态分布生成一个随机数,并将其打印出来。
C语言生成1000个正太随机数,并用图表示它的分布
抱歉,作为AI语言模型,我无法生成图形,但是我可以提供C语言代码,您可以使用该代码生成1000个正态随机数,并使用其他工具绘制图形。
以下是C语言代码:
```
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define N 1000
double rand_normal(double mean, double stddev)
{
double u = (double) rand() / RAND_MAX;
double v = (double) rand() / RAND_MAX;
double x = sqrt(-2.0 * log(u)) * cos(2.0 * M_PI * v);
return mean + stddev * x;
}
int main()
{
double mean = 0.0, stddev = 1.0;
double nums[N];
srand(12345); // 设置随机数种子
// 生成1000个正态分布随机数
for (int i = 0; i < N; i++) {
nums[i] = rand_normal(mean, stddev);
}
// 输出前10个随机数
for (int i = 0; i < 10; i++) {
printf("%.6f\n", nums[i]);
}
return 0;
}
```
此代码使用Box-Muller方法生成正态分布随机数。您可以将`mean`和`stddev`变量设置为所需的平均值和标准差。在此示例中,我们将它们设置为0和1。
要绘制分布图,您可以使用各种工具,例如Python的Matplotlib库或R语言。以下是Python代码示例:
```
import matplotlib.pyplot as plt
# 读取随机数文件
with open('nums.txt', 'r') as f:
nums = [float(line.strip()) for line in f]
# 绘制直方图
plt.hist(nums, bins=20, density=True)
# 绘制正态分布曲线
import numpy as np
from scipy.stats import norm
x = np.linspace(-4, 4, 100)
plt.plot(x, norm.pdf(x, loc=0, scale=1))
plt.show()
```
在此示例中,我们假设随机数已保存在名为`nums.txt`的文本文件中。我们使用Matplotlib绘制直方图,并在上面绘制正态分布曲线。您可以更改`bins`参数以更改直方图的柱数,更改`loc`和`scale`参数以更改正态分布曲线的位置和形状。
阅读全文