numpy下, meshgrid

meshgrid 

meshgrid的作用是:接受兩個一維數組生成兩個二維矩陣,對應兩個數組中所有的(x,y)對, 生成網絡

import numpy as np
x = [1, 2, 3]
y = [4, 5, 6, 7]
x1, y1 = np.meshgrid(x, y)
print(x1)
print(y1)
z = np.meshgrid(x, y)
print(z)
print(np.array(x1).shape, np.array(y1).shape)

其實一開始我並不懂x1和y1爲什麼是這樣的,也不懂爲什麼說“矩陣對應兩個數組中所有的(x,y)對”,從圖中可以看到x1和y1都是4*3的矩陣,我們將對應位置的元素放在一起,可以得到:

    for i in range(0, 4):
        for j in range(0, 3):
            print("(", x1[i, j], ",", y1[i, j], ")")
( 1 , 4 )
( 2 , 4 )
( 3 , 4 )
( 1 , 5 )
( 2 , 5 )
( 3 , 5 )
( 1 , 6 )
( 2 , 6 )
( 3 , 6 )
( 1 , 7 )
( 2 , 7 )
( 3 , 7 )

這樣看,就可以看出二維矩陣對應的所有的(x,y)對.

生成的數組的維度是y的維度*x的維度。

    x = np.zeros((3, 5))
    y = np.zeros((4, 2))
    x1, y1 = np.meshgrid(x, y)

    z = np.meshgrid(x, y)
    print("z: ", z)
    print(np.array(x1).shape, np.array(y1).shape)
# (8, 15) (8, 15)

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章