3D高斯模型的代码python
时间: 2024-12-23 21:12:06 浏览: 6
在Python中,3D高斯模型通常用于表示三维空间中的概率分布,比如在贝叶斯方法、图像处理或机器学习中。这里是一个简单的例子,展示如何创建一个3D高斯分布:
```python
import numpy as np
from scipy.stats import multivariate_normal
# 定义3D高斯模型参数
mean = [0, 0, 0] # 均值 (x, y, z)
covariance = [[1, 0, 0], # 矩阵元素代表每个维度之间的协方差
[0, 1, 0],
[0, 0, 1]] # 方差表示各个维度自身的分散程度
def gaussian_3d(x, mu, sigma):
"""
计算给定点x处的3D高斯密度
"""
return multivariate_normal.pdf(x, mean=mu, cov=sigma)
# 创建网格,以便于可视化
x, y, z = np.meshgrid(np.linspace(-5, 5, 100), np.linspace(-5, 5, 100), np.linspace(-5, 5, 100))
positions = np.vstack([x.ravel(), y.ravel(), z.ravel()])
# 计算每个网格点的概率密度
pdf = gaussian_3d(positions, mean, covariance).reshape(x.shape)
# 可视化结果
import matplotlib.pyplot as plt
plt.imshow(pdf, extent=(-5, 5, -5, 5), origin='lower', cmap='viridis')
plt.title('3D Gaussian Distribution')
plt.xlabel('X'), plt.ylabel('Y'), plt.colorbar()
plt.show()
阅读全文