我编写了一个简单的函数,它用一些固定的索引在numpy数组上迭代。
def compute_V(i,j,nA, nB,V):
Vijkl = np.zeros((i,j,nA,nB))
for k in range(nA):
for l in range(nB):
Vijkl[i,j,k,l] = V[i,j,k,l] + 3
return Vijkl
我得到以下错误: IndexError:索引1超出了大小为1的轴0的界限
我做错了什么?
矩阵V有一个形状:(1,2,1,2),看起来:
[[[[-0.00009 -0.00001]]
[[-0.00001 -0.00001]]]]
i = 0, j = 0, nA = 1, nB = 2
看一看循环经过一次迭代:
i,j,k,l,V: 0 0 0 0 -9.39073120245e-05
然后抛出错误。
发布于 2018-05-25 15:39:23
Vijkl的形状为(i,j,nA,nB),因此每个维数的最大极限为(i-1,j-1,nA-1,nB-1)。您正在超过前两个维度的最大范围。
https://stackoverflow.com/questions/50532385
复制相似问题