0
我定義了函數並調用它來將計算值存儲在數組中。然而,數組中的值與它們應該是不同的。我繪製了函數的輸出和存儲的數組值。任何人都可以幫我解決這個問題。這裏是代碼和輸出。Python數組值與定義的函數不同
from numpy import linspace, exp
import matplotlib.pyplot as pl
def gaussian(x, off, amp, cen, wid):
return off+amp * exp(-(x-cen)**2 /wid**2)
PhaseArray = [0 for x in range (100)]
for x in range(100):
PhaseArray[x] = gaussian(x, 0, 1000, 50, 15)
x = linspace(0,99,100)
fig = pl.figure()
pl.plot(PhaseArray, 'go-')
pl.plot(x, gaussian(x, 0, 1000, 50, 15), 'ro-')
pl.show()
輸出情節看起來像
'range'返回整數,而'linspace'返回浮點數。例如。嘗試調用'高斯(40,0,1000,50,15)'和'高斯(40.0,0,1000,50,15)',你會看到區別。當您執行整數除法時,結果會被截斷(對於Python 2.7及更早版本)。 –