zoukankan      html  css  js  c++  java
  • python 画3D的高斯曲线

    用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()

  • 相关阅读:
    mysql对库,表,数据类型的操作以及完整性约束
    mysql数据库初步了解
    响应式及Bootstrap
    事件流丶事件对象
    JQuery初识(三 )
    JQuery初识(二)
    JQuery初识
    sencha touch tpl 实现按钮功能
    sencha touch 分享到微博扩展
    sencha touch 隐藏滚动条样式的几种方式
  • 原文地址:https://www.cnblogs.com/marszhw/p/10962944.html
Copyright © 2011-2022 走看看