簡體   English   中英

如何將阻尼正弦波擬合到數據

[英]How do I fit a damped sine wave to data

對於我的實驗項目,我將阻尼正弦波擬合到我為振動幅度獲得的數據上。 我正在嘗試在 python 中分析數據,但在嘗試將其建模為阻尼波時甚至不知道從哪里開始。 因此,任何有關如何開始的提示或幫助將不勝感激。

振幅數據如下:

A = [174, 174, 173, 173, 173, 173, 174, 175, 179, 182, 179, 175, 172, 178,
     181, 176, 179, 172, 171, 177, 179, 181, 176, 167, 174]

並且時間數據只是一個恆定的時間間隔所以像這樣

t = np.array([0., 0.04, 0.08, 0.12, 0.16, 0.2, 0.24, 0.28, 0.32, 0.36, 0.4,
              0.44, 0.48, 0.52, 0.56, 0.6, 0.64, 0.68, 0.72, 0.76, 0.8, 0.84,
              0.88, 0.92, 0.96])

擬合模型將是這樣的:

y(t) = A * exp(-lambda * t) * cos(omega * t + phi)

提前感謝您的幫助。

嗯,首先,我會找到節點所在的大概位置,即曲線等於所有數據的平均值,然后從那里找到頻率。 然后我會記錄前幾個峰值的幅度以獲得初始幅度,以及相鄰峰值幅度之間的比率,這將得到方程中的 lambda。 第一個峰值的時間也會為您提供相位角 phi。

這不是答案,而只是評論。 我無法在評論部分編輯它,因為圖片絕對必不可少,並且不能在評論中放置圖片。

如果我沒有弄錯,數據的圖形表示是:

在此處輸入圖片說明

該圖看起來不像阻尼正弦函數。 我想知道是否有人能夠說出它是一種什么樣的功能。 它看起來更像是一個高度分散的線性函數。

你能粗略地勾勒出(不用微積分)你期望的曲線嗎?

暫無
暫無

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

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