2013-03-11 36 views
-1

下面的函數peval2給出了收斂於1的飽和曲線,這是正確的,例如,在楓樹。然而,Python計算錯誤的總和值。任何人都可以給我一個提示,我做錯了什麼?爲什麼這個總和不會收斂在Python中

from numpy import * 
from scipy.optimize import leastsq 
import matplotlib.pyplot as plt 

def peval2(x, p): 
    b,c = p 
    err = 0 * x 
    for ii in range(0,30): 
     for jj in range(0,30): 
      for kk in range(0,30): 
       err += exp(-1.0*x*pi**2.0*(b*(((2.0*ii+1.0)/75.0)**2+((2.0*jj+1)/75.0))**2+c*((2.0*kk+1)/2.0)**2.0))/((2.0*ii+1)*(2.0*jj+1)*(2.0*kk+1))**2.0 
    print err 
    return 1.0-((8.0/pi**2)**3*err) 

rr = linspace(0,4000,100) 

plt.plot(rr,peval2(rr,[5e-7,2e-7])) 

plt.show() 
+0

這裏有一個想法:爲運營商的優先規則可能不會在Python和楓樹一樣。 – duffymo 2013-03-11 22:31:09

+0

舍入錯誤,也許? – Cairnarvon 2013-03-11 22:31:38

+1

我們應該如何知道您是否編寫了正確的代碼?告訴我們它應該做什麼,或者更好,向我們展示正確的Maple代碼。 – 2013-03-11 22:31:54

回答

2

您是否使用與Maple代碼相同的參數?我改變了參數爲:

plt.plot(rr,peval2(rr,[0.001, 0.002])) 

結果:

enter image description here