在网上查阅资料,发现很少用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