我想我错过了某个地方。我使用两个for循环(x和y)和一个基于x,y位置的函数填充了一个numpy数组。唯一的问题是,无论数组的大小如何,数组的值总是以零结尾。
thetamap = numpy.zeros(36, dtype=float)
thetamap.shape = (6, 6)
for y in range(0,5):
for x in range(0,5):
thetamap[x][y] = x+y
print thetamap
答案 0 :(得分:8)
range(0, 5)
生成0, 1, 2, 3, 4
。始终省略端点。您只需要range(6)
。
更好的是,使用NumPy 的强大功能将数组放在一行:
thetamap = np.arange(6) + np.arange(6)[:,None]
这会产生一个行向量和一个列向量,然后使用NumPy广播将它们加在一起构成一个矩阵。