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

  • 相关阅读:
    10th blog:箭头函数
    10th blog:Event Flow
    12th:MAP.API
    10th blog:For each···in / For···in / For···of
    10th blog:Object
    Web第九周作业:History of Program(1950--2020)
    Web作业:Regular Expression
    Web作业:specific word count (index of )
    Web第七周作业:DOM&BOM
    MAP
  • 原文地址:https://www.cnblogs.com/marszhw/p/10962944.html
Copyright © 2011-2022 走看看