numpy中meshgrid的使用

2021-08-14 05:27:17 字數 1294 閱讀 9365

meshgrid函式通常在資料的向量化上使用,但是使用的方法我暫時還不是很明確。

而meshgrid的作用適用於生成網格型資料,可以接受兩個一維陣列生成兩個二維矩陣,對應兩個陣列中所有的(x,y)對

。接下來通過簡單的shell互動來演示一下這個功能的使用,並做一下小結。

互動顯示:

in [65]: xnums =np.arange(4)

in [66]: ynums =np.arange(5)

in [67]: xnums

out[67]: array([0,1, 2, 3])

in [68]: ynums

out[68]: array([0,1, 2, 3, 4])

in [69]: data_list= np.meshgrid(xnums,ynums)

in [70]: data_list

out[70]:

[array([[0, 1, 2,3],

[0, 1, 2, 3],

[0, 1, 2, 3],

[0, 1, 2, 3],

[0, 1, 2, 3]]), array([[0, 0, 0, 0],

[1, 1, 1, 1],

[2, 2, 2, 2],

[3, 3, 3, 3],

[4, 4, 4, 4]])]

in [71]: x,y =data_list

in [72]: x.shape

out[72]: (5l, 4l)

in [73]: y.shape

out[73]: (5l, 4l)

in [74]: x

out[74]:

array([[0, 1, 2,3],

[0, 1, 2, 3],

[0, 1, 2, 3],

[0, 1, 2, 3],

[0, 1, 2, 3]])

in [75]: y

out[75]:

array([[0, 0, 0,0],

[1, 1, 1, 1],

[2, 2, 2, 2],

[3, 3, 3, 3],

[4, 4, 4, 4]])

由上面的互動可以看出,

meshgrid的作用是根據傳入的兩個一維陣列引數生成兩個陣列元素的列表。

如果第乙個引數是xarray,維度是xdimesion,第二個引數是yarray,維度是ydimesion。那麼生成的第乙個二維陣列是以xarray為行,ydimesion行的向量;而第二個二維陣列是以yarray的轉置為列,xdimesion列的向量。

Numpy中Meshgrid函式介紹及2種應用場景

在numpy的官方文章裡,meshgrid函式的英文描述也顯得文縐縐的,理解起來有些難度。可以這麼理解,meshgrid函式用兩個座標軸上的點在平面上畫網格。用法 x,y meshgrid x,y x,y meshgrid x 與 x,y meshgrid x,x 是等同的 x,y,z meshgr...

numpy的生成網格矩陣 meshgrid

numpy模組中的meshgrid函式用來生成網格矩陣,最簡單的網格矩陣為二維矩陣 meshgrid函式可以接受 x1,x2,xn 等 n 個一維向量,生成 n d 矩陣。meshgrid xi,kwargs 引數 xi x1,x2,xn array like 返回值 x1,x2,xn ndarra...

Matlab中的meshgrid函式

參考 matlab函式手冊 meshgrid是matlab中用於生成網路取樣點的函式。常用於3d繪圖。呼叫方式 x,y meshgrid x y 複製網格向量x 和y 生成矩陣網格 x,y 的座標 輸出x,y為維度相同的矩陣。令nx,ny 分別為向量x y 中數的個數,那麼x 被複製ny次以形成x的...