码迷,mamicode.com
首页 > 编程语言 > 详细

python 画3D的高斯曲线

时间:2019-06-02 15:38:45      阅读:111      评论:0      收藏:0      [点我收藏+]

标签:session   multi   ict   http   info   from   port   math   atp   

用python画3D的高斯曲线,我想如果有多个峰怎么画?

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.1)#绘面

ax.set_xlabel(‘x‘)
ax.set_ylabel(‘y‘)
ax.set_zlabel(‘z‘)
plt.show()

技术图片

 

用tensorflow 实现

import numpy as np
import matplotlib.pyplot as plt
import math
import mpl_toolkits.mplot3d
import tensorflow as tf
from sklearn import datasets

sess = tf.InteractiveSession()
gamma = tf.constant(-1.0)
x, y = np.mgrid[-2:2:0.01, -2:2:0.01]

x_data = tf.placeholder(shape=[400, 400], dtype=tf.float32)
y_data = tf.placeholder(shape=[400, 400], dtype=tf.float32)

Kernel = tf.exp(tf.multiply(gamma, tf.add((x_data*x_data),(y_data*y_data))))
Kernel = sess.run(Kernel, feed_dict={x_data: x,y_data: y})

ax = plt.subplot(111, projection=‘3d‘)
ax.plot_surface(x, y, Kernel, rstride=1, cstride=1, cmap=‘rainbow‘, alpha=0.9)#绘面
ax.set_xlabel(‘x‘)
ax.set_ylabel(‘y‘)
ax.set_zlabel(‘Kernel‘)
plt.show()

 

python 画3D的高斯曲线

标签:session   multi   ict   http   info   from   port   math   atp   

原文地址:https://www.cnblogs.com/marszhw/p/10962944.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!