在網(wǎng)上查閱資料,發(fā)現(xiàn)很少用Python進行高斯函數(shù)的三維顯示繪圖的,原因可能是其圖形顯示太過怪異,沒有MATLAB精細和直觀。
回顧一下二維高斯公式:
σ此處取3。
在MATLAB下的程序為:
u=[-10:0.1:10];v=[-10:0.1:10];[U,V]=meshgrid(u,v);H=exp(-(U.^2+V.^2)./2/3^2);mesh(u,v,H); %繪制三維曲面的函數(shù)title('高斯函數(shù)曲面');其顯示結(jié)果為:
放大效果顯示,很平滑和直觀。
以下為Python的程序部分:
import numpy as npimport matplotlib.pyplot as pltimport mathimport mpl_toolkits.mplot3dx, y = np.mgrid[-2:2:200j, -2:2:200j]z=(1/2*math.pi*3**2)*np.exp(-(x**2+y**2)/2*3**2)ax = plt.subplot(111, projection='3d')ax.plot_surface(x, y, z, rstride=1, cstride=1, cmap='rainbow', alpha=0.9)#繪面ax.set_xlabel('x')ax.set_ylabel('y')ax.set_zlabel('z')plt.show()顯示效果:
以上這篇Python實現(xiàn)高斯函數(shù)的三維顯示方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持VEVB武林網(wǎng)。
新聞熱點
疑難解答
圖片精選