您的位置:首页 > 编程语言 > Python开发

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

2018-04-02 16:09 225 查看
在网上查阅资料,发现很少用Python进行高斯函数的三维显示绘图的,原因可能是其图形显示太过怪异,没有MATLAB精细和直观。

回顾一下二维高斯公式:

G(x,y)=12πσ2e−(x2+y2)/2σ2G(x,y)=12πσ2e−(x2+y2)/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()


显示效果:



图像放大后:



这差距也太特么大了吧!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: