使用python画出二元正态分布的三维图,其协方差矩阵 Σ 为 Σ=[[1,0.3],[0.3,1]]
时间: 2024-01-05 14:03:33 浏览: 187
以下是使用matplotlib和mpl_toolkits.mplot3d库绘制的二元正态分布的三维图:
```python
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
# 定义二元正态分布的均值和协方差矩阵
mu = np.array([0, 0])
sigma = np.array([[1, 0.3], [0.3, 1]])
# 生成网格点坐标
x, y = np.meshgrid(np.linspace(-3, 3, 50), np.linspace(-3, 3, 50))
# 计算二元正态分布的概率密度函数
pos = np.empty(x.shape + (2,))
pos[:, :, 0] = x
pos[:, :, 1] = y
z = np.exp(-0.5 * np.sum((np.dot(pos - mu, np.linalg.inv(sigma)) * (pos - mu)), axis=2)) / (2 * np.pi * np.sqrt(np.linalg.det(sigma)))
# 绘制三维图
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.plot_surface(x, y, z, cmap='coolwarm')
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')
plt.show()
```
运行以上代码,即可得到二元正态分布的三维图:
![二元正态分布的三维图](https://cdn.luogu.com.cn/upload/image_hosting/4q3q6f4y.png)
阅读全文