0
我無法插入我擁有的溫度數據的時間序列。由於儀器漂移,時間變量增加非單調性。例如,它在正確的時間開始並按照其編程的每40秒採樣一次。在matlab中內插非單調x數據
YYYY MM DD HH MM SS
2013 9 29 17 0 1
2013 9 29 17 0 41
2013 9 29 17 1 21
2013 9 29 17 2 1
2013 9 29 17 2 41
2013 9 29 17 3 21
2013 9 29 17 4 1
2013 9 29 17 4 41
2013 9 29 17 5 21
2013 9 29 17 6 1
2013 9 29 17 6 41
2013 9 29 17 7 21
2013 9 29 17 8 1
然後,隨着時間的流逝,它會緩慢地漂移到下面的不同時間採樣。
2013 11 3 19 0 45
2013 11 3 19 1 25
2013 11 3 19 2 5
2013 11 3 19 2 45
2013 11 3 19 3 25
2013 11 3 19 4 5
2013 11 3 19 4 45
2013 11 3 19 5 25
2013 11 3 19 6 5
最糟糕的是,在儀器的電池壽命附近,它以更隨機的時間進行採樣,
2013 11 19 0 14 0
2013 11 19 0 15 28
2013 11 19 0 16 56
2013 11 19 0 18 24
2013 11 19 0 19 52
2013 11 19 0 21 20
2013 11 19 0 22 48
2013 11 19 0 24 16
2013 11 19 0 25 44
2013 11 19 0 27 12
2013 11 19 0 28 40
2013 11 19 0 30 8
2013 11 19 0 31 36
2013 11 19 0 33 4
我會想使用這些數據進行插值,以每2分鐘,因爲現在當我使用這個數據,FFT和Matlab的PSD分析,我沒有得到在PSD任何峯預計,由於每天的溫度波動。
由於我的數據是在我顯示的日期向量的datenum()中,我使用下面的代碼來獲取每2分鐘(每0.0014日期)的新Yi。
xi=(x(1,1):0.0014:x(end,1));
yi=interp1(x,y,xi);
其中x是datenum向量ie。
735506.708344907
735506.708807870
735506.709270833
735506.709733796
735506.710196759
735506.710659722
735506.711122685
735506.711585648
735506.712048611
735506.712511574
,y是溫度數據每次樣本帶有像這樣,
32.4086025192727
32.4052088117713
32.4051005865126
32.4043088697477
32.4049974142611
32.4046963702913
32.4038950877519
32.4047969012421
32.4055051003980
32.4062010783006
我能請得到您的幫助以某種方式插補的溫度數據到2分鐘間隔的數據集?我將不勝感激任何幫助和指導來解決這個問題。非常感謝。
尊敬, 綾
我沒有看到您的方法有任何問題。這應該沒問題。 「xi」和「yi」的結果有什麼不對? – Hoki 2014-09-21 18:24:26
嗨Hoki,我剛纔發現這個數據集我有很多問題。我對它進行了排序,通過fillgaps.m刪除了那裏的NaN,然後就可以插入它!謝謝你指出。它幫助我認識到在interp1()之前需要修復的小事,我沒有意識到這一點。 'A_sorted = sortrows(A)''A_f = fixgaps(A_sorted)''[C,ia,ic] =唯一的(A_f); A_ia = A_f(ia,:)' – Aya 2014-09-22 07:02:01
很好,你完成了。事實上,數據有時需要在處理之前被「清理」,或者可能出現奇怪的結果。你可以寫一個關於你如何分類你的問題的答案,並接受它。這將結束這個問題。 – Hoki 2014-09-22 07:20:03