numpy中的ogrid


      ogrid用切片作为下标,返回的是一组可用来广播计算的数组。其切片下标有如下形式:

        1,[ 开始值:结束值:步长 ]

x,y=np.ogrid[1:4:1,1:5:2]
print(x)
print(y)
结果为:
[[1]
 [2]
 [3]]
[[1 3]]

        2,[ 开始值:结束值:长度j ]

x,y=np.ogrid[1:4:3j,1:5:2j]
print(x)
print(y)
[[ 1. ]
 [ 2.5]
 [ 4. ]]
[[ 1.  5.]]

例子:绘制三维曲面f(x,y)=x*exp(-x^2-y^2)

from mpl_toolkits.mplot3d import axes3d
import matplotlib.pyplot as plt
from matplotlib import cm
import numpy as np
x,y=np.ogrid[-2:2:20j,-2:2:20j]
z=x*np.exp(-x**2-y**2)
fig = plt.figure()
ax = fig.gca(projection='3d')
ax.plot_surface(x, y, z, alpha=0.3)
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')
plt.show()

结果为:

figure_1


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM