2017-02-22 61 views
0

给出的错误是元组索引超出范围。当我检查变量时,数组是在[3,11]矩阵中创建的,但只填充了前两行。我不知道如何纠正我的代码?由于Indexerror:元组索引out of rangle

sigma_z = np.zeros((11,3)) 

for i in xrange(len(z)): 
    for j in xrange(len(locx)): 
     sigma_z[i-1,j-1] = (Mx[i-1]* locy[i-1])/ (Ix) - (My[i]* locx[j-1])/(Iy)  
+0

没有人可以运行你的例子,因为有太多的缺失变量,比如'z'和'locx'和'np'(我知道'np'的含义)。另外,你是否考虑过列表理解?另外,[3,11]矩阵?你的意思是一个3×11矩阵,我认为?! – Elmex80s

回答

0

我觉得有一个副作用,因为如果i=0j=0然后i-1j-1不数组中存在,它是“超出范围”。而不是[i-1,j-1]你应该做[max(0,i-1),max(0,j-1)]。或者从1开始你的范围。