1
我已經看過關於這個問題的前幾個問題,但我似乎無法解決它。我試圖解決一個具有時間依賴性的方程式(有點不相干),但我一直在爲第31行收到「無效索引標量變量」錯誤。那是當我在嵌套循環中定義b時。我感謝您的幫助。我的Python是生鏽的,因爲我已經被主要與Fortran的工作最近Python IndexError:無效索引到標量變量
def main():
#Constants
hbar= 1.0534*10**(-34)
m=9.11*10**(-31)
dx=0.1*10**(-9)
dt=1*10**(-15)
M=[[]]
b=[[]]
psi=[[]]
#Wave function definition
x=np.linspace(0,10,100)
psi[:]=sp.exp(-(x-3)**2/4)/((2*np.pi)**(0.25)*(1*10**(-9))**0.5)
n=len(x)
r=(hbar*dt/(2*m*(dx**2)))*1j
#Matrix eigenvalues for diagonals and off-diagonals
for i in range(1,n-2):
for h in range(1,n-2):
if i==h:
M=2*(1+r)
elif i==h+1 or i==h-1:
M=-1*r
for k in range(1,1000):
for q in range(1,n-2):
b=2*psi[q+1][k]+r*(psi[q][k]-2*psi[q+1][k]+psi[q+2][k])
matmul=np.transpose(np.inv(M)*np.transpose(b))
psi=np.transpose([0,matmul,0])
psi=np.transpose(psi)
main()
好的。我已經解決了這個問題,並刪除了其他列表,因爲它們是二維矩陣。 – user3655118 2014-09-30 04:26:43