第一:meshgrid
官網(wǎng)解釋
meshgrid函數(shù)通常使用在數(shù)據(jù)的矢量化上。
它適用于生成網(wǎng)格型數(shù)據(jù)台谍,可以接受兩個(gè)一維數(shù)組生成兩個(gè)二維矩陣壹蔓,對應(yīng)兩個(gè)數(shù)組中所有的(x,y)對。
np.meshgrid(*xi, **kwargs)
Return coordinate matrices from coordinate vectors.
Make N-D coordinate arrays for vectorized evaluations of N-D scalar/vector fields over N-D grids, given one-dimensional coordinate arrays x1, x2,..., xn.
根據(jù)提供的n個(gè)向量棍弄,返回N維度的矩陣坐標(biāo)
使用解釋
[X,Y]=meshgrid(x,y)
[X,Y]=meshgrid(x)與[X,Y]=meshgrid(x,x)是等同的陷舅,即如果生成x和y相等倒彰,可以寫一個(gè)向量
[X,Y,Z]=meshgrid(x,y,z)生成三維數(shù)組,可用來計(jì)算三變量的函數(shù)和繪制三維立體圖
注:其中x和y均為行向量
二維數(shù)據(jù)進(jìn)行解釋:
meshgrid中的結(jié)果X是以第一參數(shù)x在垂直方向上的復(fù)制和堆疊莱睁。
meshgrid中的結(jié)果Y是以第二參數(shù)y的轉(zhuǎn)置(變?yōu)榱邢蛄浚┰谒椒较蛏系膹?fù)制和堆疊待讳。
meshgrid中的結(jié)果X和Y的維度都是:len(y) * len(x)
meshgrid的作用是:
根據(jù)傳入的兩個(gè)一維數(shù)組參數(shù)生成兩個(gè)數(shù)組元素的列表。
如果第一個(gè)參數(shù)是xarray仰剿,維度是xdimesion,也就是列的個(gè)數(shù)创淡,
第二個(gè)參數(shù)是yarray,維度是ydimesion酥馍,也就是行的個(gè)數(shù)辩昆,
那么生成的第一個(gè)二維數(shù)組是以xarray為行,共ydimesion行的向量旨袒;
而第二個(gè)二維數(shù)組是以yarray的轉(zhuǎn)置為列,共xdimesion列的向量术辐。
t1 = np.array([1,2,3])
t2 = np.array([4,5,6,7])
x,y = np.meshgrid(t1,t2)
x.shape
#(4, 3)
y.shape
#(4, 3)
結(jié)果展示(matplotlib)
plt.plot(x,y, marker='.', color='red', linestyle='none')
plt.show()
獲得網(wǎng)格上坐標(biāo)點(diǎn)的數(shù)據(jù)
list(x.flat) #[1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3]
list(y.flat) #[4, 4, 4, 5, 5, 5, 6, 6, 6, 7, 7, 7]
[i for i in zip(x.flat,y.flat)]
[(1, 4),
(2, 4),
(3, 4),
(1, 5),
(2, 5),
(3, 5),
(1, 6),
(2, 6),
(3, 6),
(1, 7),
(2, 7),
(3, 7)]
參考
圖片來源于:https://pic4.zhimg.com/80/v2-a7f1c996c371d1167a0fb7b5273c6d01_hd.jpg
第二:mgrid
以多個(gè)矩陣的形式進(jìn)行返回
第1返回值為第1維數(shù)據(jù)在最終結(jié)構(gòu)中的分布砚尽,第一參數(shù)上的每個(gè)值組成一個(gè)列向量在水平上進(jìn)行重復(fù)
第2返回值為第2維數(shù)據(jù)在最終結(jié)構(gòu)中的分布,以此類推辉词。第二參數(shù)上的每個(gè)值組成一個(gè)行向量在垂直方向上進(jìn)行重復(fù)(分布以矩陣形式呈現(xiàn))
返回形狀:len(第一參數(shù)) X len(第二參數(shù)) X len(第三參數(shù))...
例如np.mgrid[X , Y]
樣本(i必孤,j)的坐標(biāo)為 (X[i,j] ,Y[i瑞躺,j]),X代表第1維敷搪,Y代表第2維,在此例中分別為橫縱坐標(biāo)幢哨。
比如:i=1赡勘,j=2,即坐標(biāo)(2,6)
第三:關(guān)系
meshgrid返回值相應(yīng)元素的轉(zhuǎn)置和mgrid返回值相應(yīng)元素結(jié)果上一致捞镰。