1
當我將數據擬合到此函數時,使用scipy curve_fit時出現奇怪的結果。scipy curve_fit在擬合傅里葉函數時不產生光滑圖形
def func(t, freq, offset, a0, b0, a1, b1, a2, b2, a3, b3):
return (
+ a0*np.sin(2.*0*np.pi*freq*t)
+ b0*np.cos(2.*0*np.pi*freq*t)
+ a1*np.sin(2.*1*np.pi*freq*t)
+ b1*np.cos(2.*1*np.pi*freq*t)
+ a2*np.sin(2.*2*np.pi*freq*t)
+ b2*np.cos(2.*2*np.pi*freq*t)
+ a3*np.sin(2.*3*np.pi*freq*t)
+ b3*np.cos(2.*3*np.pi*freq*t)
+ offset)
擬合本身是好的,唯一的問題存在是該行是崎嶇不平的。既然我只是在不斷地修正正弦和餘弦,那怎麼會發生呢?這是在matplotlib還是在curve_fitting函數中發生的?另一件事是,根據我是否添加更多或更少的條款功能,該功能將自行消除,或再次顛簸。
非常感謝!實際上,刪除多餘的術語似乎已經平滑了圖形。 – Giovanni