做一个简单随机抽样5000次,分别做高斯分布、朗道分布
时间: 2023-06-18 14:04:21 浏览: 237
好的,下面是 Python 代码示例:
```python
import numpy as np
import matplotlib.pyplot as plt
# 高斯分布随机抽样
mu = 0
sigma = 1
gaussian_samples = np.random.normal(mu, sigma, 5000)
# 绘制高斯分布直方图
plt.hist(gaussian_samples, bins=100)
plt.title('Gaussian Distribution')
plt.show()
# 朗道分布随机抽样
alpha = 1
beta = 2
landau_samples = np.random.laplace(alpha, beta, 5000)
# 绘制朗道分布直方图
plt.hist(landau_samples, bins=100)
plt.title('Landau Distribution')
plt.show()
```
其中,`np.random.normal` 用于生成高斯分布的随机数,`np.random.laplace` 用于生成朗道分布的随机数。通过 `plt.hist` 可以绘制直方图。
相关问题
用linux 及root ,做一个简单的随机抽样5000次,分别做高斯分布、朗道分布、指数分布、均匀分布,取参数为1
下面是使用Linux和root软件包进行随机抽样的简单示例代码:
高斯分布:
```bash
root -b -q -l -e 'TRandom3 r; for (int i=0;i<5000;i++) {std::cout << r.Gaus(0,1) << std::endl;}' > gaussian.txt
```
朗道分布:
```bash
root -b -q -l -e 'TRandom3 r; for (int i=0;i<5000;i++) {std::cout << r.Landau(1,1) << std::endl;}' > landau.txt
```
指数分布:
```bash
root -b -q -l -e 'TRandom3 r; for (int i=0;i<5000;i++) {std::cout << r.Exp(1) << std::endl;}' > exponential.txt
```
均匀分布:
```bash
root -b -q -l -e 'TRandom3 r; for (int i=0;i<5000;i++) {std::cout << r.Uniform(0,2) << std::endl;}' > uniform.txt
```
这里使用了TRandom3类来生成随机数。在高斯分布中,使用Gaus函数;在朗道分布中,使用Landau函数;在指数分布中,使用Exp函数;在均匀分布中,使用Uniform函数。每个函数的第一个参数是分布的中心或平均值,第二个参数是分布的宽度或标准差,具体可以根据需要进行调整。
输出文件名分别为gaussian.txt、landau.txt、exponential.txt和uniform.txt。您可以使用任何文本编辑器或数据分析软件来打开并分析这些文件。
CERN ROOT 中怎么实现朗道卷积高斯函数
CERN ROOT 中使用TF1类可以实现朗道卷积高斯函数,具体语法如下:TF1 f("f", "[0]*exp(-0.5*((x-[1])/[2])**2)+[3]*exp(-0.5*((x-[4])/[5])**2)",xmin,xmax);
阅读全文