在网上查阅资料,发现很少用python进行高斯函数的三维显示绘图的,原因可能是其图形显示太过怪异,没有matlab精细和直观。
回顾一下二维高斯公式:
σ此处取3。
在matlab下的程序为:
1
2
3
4
5
6
|
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的程序部分:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
import numpy as np import matplotlib.pyplot as plt import math import mpl_toolkits.mplot3d x, 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实现高斯函数的三维显示方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/zhangziju/article/details/79790822