三维高斯分布 抽样python
时间: 2023-10-30 12:06:46 浏览: 36
三维高斯分布抽样的Python代码如下:
```python
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
def multivariate_gaussian_sampling(mean, cov, num_samples):
samples = np.random.multivariate_normal(mean, cov, num_samples)
return samples
mean = np.array([0, 0, 0]) # 均值向量
cov = np.array([[1, 0, 0], [0, 1, 0], [0, 0, 1]]) # 协方差矩阵
num_samples = 1000 # 抽样数量
samples = multivariate_gaussian_sampling(mean, cov, num_samples)
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.scatter(samples[:, 0], samples[:, 1], samples[:, 2])
plt.show()
```
相关问题
二维高斯分布python
以下是一个使用Python生成二维高斯分布的例子:
```python
import numpy as np
import matplotlib.pyplot as plt
# 定义均值和协方差矩阵
mean = [0, 0]
cov = [[1, 0], [0, 1]]
# 生成二维高斯分布的数据
data = np.random.multivariate_normal(mean, cov, 1000)
# 绘制散点图
plt.scatter(data[:, 0], data[:, 1])
plt.xlabel('X')
plt.ylabel('Y')
plt.title('二维高斯分布散点图')
plt.show()
```
这段代码使用了numpy库的`multivariate_normal`函数生成二维高斯分布的数据,并使用matplotlib库绘制了散点图。其中,`mean`表示均值,`cov`表示协方差矩阵,`size`表示生成数据的数量。
一维高斯分布python绘图
以下是一维高斯分布的Python绘图代码:
```python
import numpy as np
import matplotlib.pyplot as plt
# 生成一维高斯分布数据
mean = 0
variance = 1
sigma = np.sqrt(variance)
x = np.linspace(-5, 5, 100)
y = np.exp(-(x - mean) ** 2 / (2 * variance)) / (sigma * np.sqrt(2 * np.pi))
# 绘制一维高斯分布图像
plt.plot(x, y)
plt.title('One-dimensional Gaussian Distribution')
plt.xlabel('x')
plt.ylabel('Probability density')
plt.show()
```
该代码首先使用numpy生成一维高斯分布数据,然后使用matplotlib绘制图像。其中,mean表示均值,variance表示方差,sigma表示标准差,x表示横坐标,y表示纵坐标,np.exp表示自然指数函数,np.sqrt表示平方根函数,np.pi表示圆周率。