我想我错过了某个地方.我使用两个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
Run Code Online (Sandbox Code Playgroud)
range(0, 5)生产0, 1, 2, 3, 4.始终省略端点.你想要的只是range(6).
更好的是,使用NumPy的强大功能将阵列放在一行:
thetamap = np.arange(6) + np.arange(6)[:,None]
Run Code Online (Sandbox Code Playgroud)
这使得行向量和列向量,然后使用NumPy广播将它们加在一起以形成矩阵.
| 归档时间: |
|
| 查看次数: |
84 次 |
| 最近记录: |