NumPy numpy.meshgrid 函式

Suraj Joshi 2023年1月30日
  1. numpy.meshgrid() 語法
  2. 示例程式碼:numpy.meshgrid() 生成 meshgrids 的方法
  3. 示例程式碼:在 numpy.meshgrid() 方法中設定 indexing='ij'來生成 meshgrids
  4. 示例程式碼:在 numpy.meshgrid() 方法中設定 sparse=True 來生成 meshgrids
NumPy numpy.meshgrid 函式

Python Numpynumpy.meshgrid() 函式從一維座標陣列 x1, x2,...,xn 建立一個 N 維矩形網格。

numpy.meshgrid() 語法

numpy.meshgrid(*xi, **kwargs)

引數

x1,x2,...,xn 類陣列。表示網格座標的一維陣列。
indexing 類陣列。定義了輸出的索引。xy(笛卡爾)或 ij(矩陣)。
sparse 布林型。返回稀疏網格,以節省記憶體(sparse=True)
copy 返回原陣列中的檢視,以節省記憶體(copy=True)

返回值

從座標向量生成座標矩陣。

示例程式碼:numpy.meshgrid() 生成 meshgrids 的方法

import numpy as np

x=np.linspace(2,5,4)
y=np.linspace(2,4,3)

xx,yy=np.meshgrid(x, y)

print("xx matrix:")
print(xx)
print("\n")

print("shape of xx matrix:")
print(xx.shape)
print("\n")

print("yy matrix:")
print(yy)
print("\n")

print("shape of yy matrix:")
print(yy.shape)
print("\n")

輸出:

xx matrix:
[[2. 3. 4. 5.]
 [2. 3. 4. 5.]
 [2. 3. 4. 5.]]


shape of xx matrix:
(3, 4)


yy matrix:
[[2. 2. 2. 2.]
 [3. 3. 3. 3.]
 [4. 4. 4. 4.]]


shape of yy matrix:
(3, 4)

它建立矩陣 xxyy,使每個矩陣中的相應元素配對得到網格中所有點的 xy 座標。

示例程式碼:在 numpy.meshgrid() 方法中設定 indexing='ij'來生成 meshgrids

import numpy as np

x=np.linspace(2,5,4)
y=np.linspace(2,4,3)

xx,yy=np.meshgrid(x,y,indexing='ij')

print("xx matrix:")
print(xx)
print("\n")

print("shape of xx matrix:")
print(xx.shape)
print("\n")

print("yy matrix:")
print(yy)
print("\n")

print("shape of yy matrix:")
print(yy.shape)
print("\n")

輸出:

xx matrix:
[[2. 2. 2.]
 [3. 3. 3.]
 [4. 4. 4.]
 [5. 5. 5.]]


shape of xx matrix:
(4, 3)


yy matrix:
[[2. 3. 4.]
 [2. 3. 4.]
 [2. 3. 4.]
 [2. 3. 4.]]


shape of yy matrix:
(4, 3)

它建立矩陣 xxyy,以便根據矩陣元素的索引形成兩個元素的對應元素。

矩陣 xxyy 是前一種情況下 xxyy 的轉置。

示例程式碼:在 numpy.meshgrid() 方法中設定 sparse=True 來生成 meshgrids

import numpy as np

x=np.linspace(2,5,4)
y=np.linspace(2,4,3)

xx,yy=np.meshgrid(x,y,sparse=True)

print("xx matrix:")
print(xx)
print("\n")

print("shape of xx matrix:")
print(xx.shape)
print("\n")

print("yy matrix:")
print(yy)
print("\n")

print("shape of yy matrix:")
print(yy.shape)
print("\n")

輸出:

xx matrix:
[[2. 3. 4. 5.]]


shape of xx matrix:
(1, 4)


yy matrix:
[[2.]
 [3.]
 [4.]]


shape of yy matrix:
(3, 1)

如果我們在 meshgrid() 方法中設定 sparse=True,它將返回稀疏網格以節省記憶體。

作者: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn