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. ]]