numpy中的meshgrid()的用法
np.meshgrid()
是 NumPy 用于生成网格坐标矩阵。它的设计本意是将一维坐标数组(向量)转换为二维网格坐标矩阵,以便于在多维空间(如 2D/3D 网格)中进行向量化计算或可视化。
核心作用:将一维的x和y数组转为2个矩阵X和Y,其中
import numpy as npx = np.array([0, 2, 4, 6, 8, 10])
y = np.array([0, 100, 300, 500, 700])
X, Y = np.meshgrid(x, y)print(X) # 形状:[len(y), len(x)]
"""
[[ 0 2 4 6 8 10] [ 0 2 4 6 8 10] [ 0 2 4 6 8 10] [ 0 2 4 6 8 10] [ 0 2 4 6 8 10]]
"""
print(Y)# 形状:[len(y), len(x)]
"""
[[ 0 0 0 0 0 0][100 100 100 100 100 100][300 300 300 300 300 300][500 500 500 500 500 500][700 700 700 700 700 700]]
"""
X和Y矩阵,可以构成一个坐标系
row,col = X.shapefor i in range(row):for j in range(col):print(f"({X[i,j]:3d},{Y[i,j]:3d})", end=" ")print()
"""
原点在左上角,横向为X轴,竖直为y轴
( 0, 0) ( 2, 0) ( 4, 0) ( 6, 0) ( 8, 0) ( 10, 0)
( 0,100) ( 2,100) ( 4,100) ( 6,100) ( 8,100) ( 10,100)
( 0,300) ( 2,300) ( 4,300) ( 6,300) ( 8,300) ( 10,300)
( 0,500) ( 2,500) ( 4,500) ( 6,500) ( 8,500) ( 10,500)
( 0,700) ( 2,700) ( 4,700) ( 6,700) ( 8,700) ( 10,700)
"""