错误消息:嵌套循环中的索引越界?

时间:2020-01-15 15:30:00

标签: python

我正在使用嵌套循环来定义矩阵,但是我一直收到错误消息:

IndexError: index 127 is out of bounds for axis 1 with size 127

我在coeffs[i,i+1]的最后一行收到此错误。在我也有coeffs[i,i+1]的早期嵌套循环期间,不会返回此错误。 我试过只替换coeffs[i,i+1]右侧的float,错误仍然存​​在,所以问题肯定在这里。我也尝试过range(0,n+1),但这并没有改变任何东西。 据我了解,Python看到了i + 1索引,并立即决定可以找到不存在的元素。但是,我的矩阵的大小为nxn,我已经给定了边界条件for i == n。我尝试了替换elif i != 0 and i != 1,但没有帮助。 (函数也是我正在定义的向量,不会产生任何问题。)有什么想法吗?

非常感谢。

for i in range(0,n):

    if i == 0:
        coeffs[i,i] = 1
        coeffs[i,i+1] = 0
        funcs[i] = Tb
    if i == n:
        coeffs[i,i] = 1
        funcs[i] = Th
    else:
        coeffs[i,i] = -2
        coeffs[i,i-1] = 1+(w[i]*delz/2*kappa)
        coeffs[i,i+1] = 1-(w[i]*delz/2*kappa) 

如下

IndexErrorTraceback (most recent call last)
<ipython-input-245-f2fa3a661305> in <module>()
 39         coeffs[i,i] = -2
 40         coeffs[i,i-1] = 1+(w[i]*delz/2*kappa)
---> 41         coeffs[i,i+1] = 1-(w[i]*delz/2*kappa)
 42 
 43 

IndexError:索引127超出了轴1的大小127

1 个答案:

答案 0 :(得分:0)

范围(0,n)中的最后一项是n-1,而不是n