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

  • 相关阅读:
    3D照片放大展示窗口
    [NOI2015]品酒大会
    [SDOI2016]排列计数
    [SCOI2008]奖励关
    HDU4336 Card Collector
    CF540D Bad Luck Island
    [NOI2016]网格
    HDU3076 ssworld VS DDD
    [USACO10HOL]赶小猪
    CF113D Museum
  • 原文地址:https://www.cnblogs.com/marszhw/p/10962944.html
Copyright © 2011-2022 走看看