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下的程序为:
其显示结果为:
放大效果显示,很平滑和直观。
以下为Python的程序部分:
显示效果:
图像放大后:
这差距也太特么大了吧!!!
回顾一下二维高斯公式:
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()
显示效果:
图像放大后:
这差距也太特么大了吧!!!
相关文章推荐
- python实现Kmeans文本聚类,通过PCA降维和Matplotlib显示聚类3d三维图像
- 1 用python进行OpenCV实战之用OpenCV3实现图片载入、显示和储存
- ArcEngine三维开发实现3D符号以现实单位显示
- python 实现分页显示从es中获取的数据
- Python3下用tkinter和PIL实现简单的显示图片
- python实现socket上传下载文件-进度条显示
- 12bit灰度图像映射到8bit显示及python 实现
- Python实现的绘制三维双螺旋线图形功能示例
- 用python实现有道翻译,配合Goldendict显示
- python处理点云数据并三维显示
- 双目测距与三维重建的OpenCV实现问题集锦(四)三维重建与OpenGL显示
- Java3D实现三维显示
- 使用VTK与Python实现机械臂三维模型可视化
- 用python实现图形显示“线性回归+梯度下降”算法
- 在python中实现数据生成饼图,并且饼图要显示在HTML页面中
- Python2实现的LED大数字显示效果示例
- 详解python实现FP-TREE进行关联规则挖掘(带有FP树显示功能)附源代码下载(1)
- Python 删除整个文本中的空格,并实现按行显示
- python 实现文章中词汇的频率统计并进行显示(针对英文文章)
- Python Matplotlib实现三维数据的散点图绘制