2017-02-22 60 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開始你的範圍。