要繪制二維高斯函數,可以使用Python中的NumPy和Matplotlib庫。下面是一個例子:
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
# 定義二維高斯函數
def Gaussian(x, y, x0, y0, sigma):
return np.exp(-((x - x0)**2 + (y - y0)**2) / (2.0 * sigma**2))
# 設置參數
sigma = 2
x, y = np.meshgrid(np.linspace(-5, 5), np.linspace(-5, 5))
# 計算高斯函數
z = Gaussian(x, y, 0, 0, sigma)
# 繪制3D圖形
fig = plt.figure()
ax = Axes3D(fig)
ax.plot_surface(x, y, z, rstride=1, cstride=1, cmap=plt.get_cmap('rainbow'))
plt.show()
# 繪制等高線圖形
plt.contourf(x, y, z, 10, cmap=plt.get_cmap('rainbow'))
plt.show()
這個例子首先定義了一個二維高斯函數,然后利用NumPy創建了一個網格,計算了高斯函數的值,并用Matplotlib繪制了3D圖形和等高線圖形。可以看到,圖形的形狀與高斯分布的形狀非常相似。在實際應用中,可以根據需要調整高斯函數的參數和繪圖選項,來得到不同形狀和大小的二維高斯函數圖像。