簡體   English   中英

Python錯誤索引超出范圍

[英]Python error index out of bounds

我的代碼編寫如下,但由於索引超出范圍而無法運行,有人可以告訴我我在哪里做錯了嗎?

def potential(a,b,c,d):
    energylist = []
    for x in np.arange(-5,10,0.1):
        for y in np.arange(-5,10,0.1):
            expa = np.exp(-(x-a)**2)
            expb = np.exp(-(y-b)**2)
            expc = np.exp(-(x-c)**2)
            expd = np.exp(-(y-d)**2)
            if x-y != 0:
                integ = expa*expb*(1/np.abs(x-y))*expc*expd
                energylist.append(integ)
    val = sum(energylist)
    return val

def htable(*myions):
    k = len(myions)
    matrix = np.zeros((k^2,k^2),float)
    for i in np.arange(0,k^2-1,1):
        for j in np.arange(0,k^2-1,1):
            m = myions[i/k]
            n = myions[i%k]
            o = myions[i/k]
            p = myions[i%k]
            matrix[i,j] = potential(m,n,o,p)
    print matrix
    return matrix

htable(1,3)

^不是冪運算符,而是二進制異或運算符; ^替換為**以得到冪。 2 ^ 2 == 0 ,這會使matrix元素數為0 x 0。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM