2013-04-30 81 views
1

我有一個非常大的數據。它太大,不能發佈在這裏。所以真的不知道如何提出這個問題?我正在使用matlab。查找兩個數據變量的相關性,matlab(概念)

mat = [time_days temperature, change_in_mm] % 

enter image description here

enter image description here

我想找到關於時間的溫度& change_in_mm之間的互相關。

基本想法是在頻域中進行。

f_data = fft(t_data, N) 
  1. 我應該如何選擇ñ
  2. 我應該將溫度& change_in_mm轉換到頻率域嗎?

應該有temperaturechange_in_mm之間的關係。我希望在冬季和夏季以及晝夜都能看到temperaturechange_in_mm之間的相關性。

我的下一步應該做什麼?任何機構都可以在這方面指導我。

%----------------------編輯---------------------- -------------%

我已經試過了,但無法理解圖的含義。

R=xcorr(temperature, change_in_mm); 
N = length(temperature); %// or N = length(change_in_mm) 
R = R(N + 1:end); 

figure; 
plot(R,'r') 

enter image description here

回答

2

如果您已經安裝了Signal Processing Toolbox,保存自己的一些麻煩和使用xcorr

R = xcorr(temperature, change_in_mm); 

結果矢量Rlength(temperature) + length(change_in_mm) - 1的長度。也許你可能會感興趣的只是積極的滯後,所以你應該考慮微調輸出,只保留下半年:

R = R((length(temperature) + length(change_in_mm))/2:end); 

或者如果它們都包含相同數量的樣本:

N = length(temperature); %// or N = length(change_in_mm) 
R = R(N + 1:end); 
+0

@Eithan,請參閱編輯。但我也想在頻域。 – Shahgee 2013-04-30 19:32:04