我正在使用嵌套循环来定义矩阵,但是我一直收到错误消息:
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
答案 0 :(得分:0)
范围(0,n)中的最后一项是n-1,而不是n