我有一个函数,我通过迭代 for 循环来填充一个 100x100 的二维数组。我需要将值存储在 [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))
1 回答
皈依舞
TA贡献1851条经验 获得超3个赞
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))
添加回答
举报
0/150
提交
取消