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