我有一个函数,通过迭代 for 循环来用值填充 100x100 2D 数组。我需要将值存储在 [i][i]、[i][i-1] 和 [i][i+1] 位置。这是我到目前为止所拥有的:
Delta = 1/100
N = 100
Matrix = np.zeros(N,N), int)
for i in range(N):
Matrix[i][i] = ((2*D)/pow(Delta,2) + SigmaA)
Matrix[i][i-1] = -(D/pow(Delta,2))
Matrix[i][i+1] = -(D/pow(Delta,2))
最佳答案
i+1
和 i-1
都试图访问无效索引。使矩阵 1
大于所需的大小,并让 range
从 1 开始,一直到 N+1。
Delta = 1/100
N = 100
Matrix = np.zeros(N+1,N+1), int)
for i in range(1,N+1):
Matrix[i][i] = ((2*D)/pow(Delta,2) + SigmaA)
Matrix[i][i-1] = -(D/pow(Delta,2))
Matrix[i][i+1] = -(D/pow(Delta,2))
关于python - 索引超出尺寸 100 的轴 0 的范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52746840/