mat=[]
for x in np.linspace(x_min, x_max,num_x):
y=np.linspace(y_min, y_max,num_y)
mat.append(list(zip([x]*len(y),y)))
mat=np.array(mat)
我可以使用循环来完成上述操作,但是我正在寻找一种更有效的方法。
答案 0 :(得分:2)
使用np.meshgrid
,请注意,它会为每个坐标重新调整一个N维数组,您必须对这些数组进行操作才能获得坐标对矩阵
从坐标矢量返回坐标矩阵。
在给定一维坐标数组x1,x2,…,xn的情况下,制作N-D坐标数组以对N-D网格上的N-D标量/矢量场进行矢量化评估。
x = np.linspace(x_min, x_max,num_x)
y = np.linspace(y_min, y_max,num_y)
XY = np.meshgrid(x,y)
# Here you have a tuple of 2 coordinate matrix
mat = np.array(XY).transpose()
# Transpose will transform your (2,num_y,num_x) array into
# the desired (num_x,num_y,2) array.