2014-05-14 69 views
0

我有一個許多週期實驗的原始週期性數據。在我的分析中,我只需要一個循環,但想要使用整個數據陣列來獲得準確性。所以我需要讓MATLAB計算不是絕對平均值(這很容易,使用均值(數據)),而是每次的平均值(相對於我也不知道的時間段)。如何在MATLAB中計算平均週期數據

有關如何做到這一點的任何建議?非常感謝!

+0

你知道每個週期的實際週期嗎?另外,數據的採樣週期是多少?如果你知道這兩者,那麼將數據拆分成不同的單元格非常容易,然後將每個單元格的均值應用到一個向量中,每個元素都會告訴你該時期的均值。 – rayryeng

回答

1

您可能可以使用傅立葉變換來自動檢測週期長度。有一個簡單的演示,使用Matlab附帶的太陽黑子數據。這個想法是使用FFT來檢測太陽黑子活動的週期約爲11年。

該演示文檔記錄在此頁面上,您可以在Matlab命令行或「help sunspot」中鍵入「sunspots」來運行它。

http://www.mathworks.co.uk/products/matlab/examples.html?file=/products/demos/shipping/matlab/sunspots.html

該方法的適用性取決於那種你正在採樣信號的非常 - 無論是用相對小的變化的重複圖案,以及是否有很多個週期的捕捉從中推斷週期性是強有力的,但至少對於後者而言,你聲明你有「許多週期」的數據。