1

我想我错过了什么地方。我使用两个 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
4

1 回答 1

8

range(0, 5)产生0, 1, 2, 3, 4. 端点总是被省略。你想要的简单range(6)

更好的是,使用NumPy 的强大功能将数组放在一行中:

thetamap = np.arange(6) + np.arange(6)[:,None]

这会生成一个行向量和一个列向量,然后使用 NumPy 广播将它们相加以生成一个矩阵。

于 2013-03-11T00:41:22.633 回答