2014-02-11 28 views
0

我試圖做一個指數擬合找到這個數據的Lyapunov指數,不過,我不斷收到此錯誤:Python的標量誤差修正

m=math.log10(abs(x)) 
TypeError: only length-1 arrays can be converted to Python scalars  

和下面的代碼:

f=np.loadtxt('Single Small Angle 1.txt',unpack=True,skiprows=2) 
g=np.loadtxt('Single Small Angle 5.txt',unpack=True,skiprows=2) 

x = f-g[:,:11944] 
t=range(len(x)) 
m=math.log10(abs(x)) 

np.polyfit(t,m) 

plt.plot(t,abs(x)) 
#plt.xlabel("${\Theta}$ [rad]") 
#plt.ylabel("${\Omega}$ [rad/s]") 
#plt.title("Small Angle Approximation Phase Space") 
plt.show() 

回答

1

您應該使用np.log10()而不是math.log10。內置的數學庫不處理numpy數組,所以numpy log10函數更合適。