我对python相当陌生,正在尝试使用laplace方程和jacobi方法在金属盒中重建电势。我已经编写了一段代码,但是我得到了一个错误:索引器错误:索引8超出了大小为7的轴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
只需快速浏览一下您的代码,就好像索引错误发生在这一部分,并且可以相应地进行更改:
您只需在索引中添加额外的
i
,这肯定超出了范围相关问题 更多 >
编程相关推荐