我是python的新手,我正在尝试使用拉普拉斯方程和jacobi方法重建金属盒中的电位。我编写了一个似乎最初工作的代码,但是我收到了错误:IndexError:索引8超出了0的轴大小,并且无法找出原因。任何帮助都会很棒!
from visual import*
from visual.graph import*
import numpy as np
lenx = leny = 7
delta = 2
vtop = [-1,-.67,-.33,.00,.33,.67,1]
vbottom = [-1,-.67,-.33,.00,.33,.67,1]
vleft = -1
vright = 1
vguess= 0
x,y = np.meshgrid(np.arange(0,lenx), np.arange(0,leny))
v = np.empty((lenx,leny))
v.fill(vguess)
v[(leny-1):,:] = vtop
v [:1,:] = vbottom
v[:,(lenx-1):] = vright
v[:,:1] = vleft
maxit = 500
for iteration in range (0,maxit):
for i in range(1,lenx):
for j in range(1,leny-1):
v[i,j] = .25*(v[i+i][j] + v[i-1][j] + v[i][j+1] + v[i][j-1])
print v
答案 0 :(得分:0)
只需快速浏览一下您的代码,就好像索引错误发生在这个部分,并且可以相应地进行更改:
CREATE (:person {name: "aaaa"})-[:work_at]->(:company {type:"Inc"})
您只需在索引中添加# you had v[i+i][j] instead if v[i+1][j]
v[i,j] = .25*(v[i+1][j] + v[i-1][j] + v[i][j+1] + v[i][j-1])
,这肯定会超出范围