Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Python – numpy.meshgrid

numpy.meshgrid() được sử dụng để trả về các ma trận tọa độ từ các vectơ tọa độ. Cú pháp của nó như sau:

numpy.meshgrid(*xi, **kwargs)

Tham số

meshgrid có thể chấp nhận các tham số sau:

  • x1, x2, ..., xn – Đại diện cho các tọa độ của một lưới.
  • indexing – Tham số tùy chọn xác định chỉ mục Cartesian 'xy' (mặc định) và chỉ mục ma trận 'ij' của đầu ra.
  • sparse – Tham số tùy chọn. Nếu muốn sử dụng lưới thưa để tiết kiệm bộ nhớ, đặt tham số này thành True. Mặc định là False.
  • copy – Trả về bản sao của mảng gốc để tiết kiệm bộ nhớ khi tham số là True. Mặc định là False.

Ví dụ 1

Xét ví dụ sau:

# Nhập numpy
import numpy as np

# Mảng đầu vào
x = np.array([1, 2, 3, 4, 5])
y = np.array([11, 12, 13, 14, 15])
print("Đầu vào x :\n", x)
print("Đầu vào y :\n", y)

# Hàm meshgrid()
xx, yy = np.meshgrid(x, y, sparse=True)
print("Meshgrid của X:", xx)
print("Meshgrid của Y:\n", yy)

Kết quả

Sẽ tạo ra đầu ra sau:

Đầu vào x : [1 2 3 4 5]
Đầu vào y : [11 12 13 14 15]
Meshgrid của X: [[1 2 3 4 5]]
Meshgrid của Y: [[11]
 [12]
 [13]
 [14]
 [15]]

Ví dụ 2

Xét ví dụ khác. Nó làm nổi bật sự khác biệt giữa linspace và meshgrid.

# Nhập numpy
import numpy as np

# Hàm linspace
a = np.linspace(3, 4, 4)
b = np.linspace(4, 5, 6)
print("linspace của a :", a)
print("linspace của b :", b)

# Hàm meshgrid
xa, xb = np.meshgrid(a, b)
print("Meshgrid của xa :\n", xa)
print("Meshgrid của xb :\n", xb)

Kết quả

Chương trình trên sẽ tạo ra đầu ra sau:

linspace của a : [3.         3.33333333 3.66666667 4.        ]
linspace của b : [4.  4.2  4.4  4.6  4.8  5. ]
Meshgrid của xa :
 [[3.         3.33333333 3.66666667 4.        ]
 [3.         3.33333333 3.66666667 4.        ]
 [3.         3.33333333 3.66666667 4.        ]
 [3.         3.33333333 3.66666667 4.        ]
 [3.         3.33333333 3.66666667 4.        ]
 [3.         3.33333333 3.66666667 4.        ]]
Meshgrid của xb :
 [[4.  4.  4.  4. ]
 [4.2 4.2 4.2 4.2]
 [4.4 4.4 4.4 4.4]
 [4.6 4.6 4.6 4.6]
 [4.8 4.8 4.8 4.8]
 [5.  5.  5.  5. ]]