Python实现高斯函数的三维显示

在网上查阅资料,发现很少用Python进行高斯函数的三维显示绘图的,原因可能是其图形显示太过怪异,没有MATLAB精细和直观。
回顾一下二维高斯公式:

G ( x , y ) = 1 2 π σ 2 e ( x 2 + y 2 ) / 2 σ 2

σ 此处取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); %绘制三维曲面的函数
title('高斯函数曲面');

其显示结果为:

这里写图片描述

放大效果显示,很平滑和直观。

这里写图片描述

以下为Python的程序部分:

import numpy as np
import matplotlib.pyplot as plt
import math
import mpl_toolkits.mplot3d

x, y = np.mgrid[-2:2:20j, -2:2:20j]
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()

显示效果:

扫描二维码关注公众号,回复: 1068024 查看本文章

这里写图片描述

图像放大后:

这里写图片描述

这差距也太特么大了吧!!!

猜你喜欢

转载自blog.csdn.net/zhangziju/article/details/79790822