How to compute the time lag by cross-correlation of ir-regular time series, accurately?
2 次查看(过去 30 天)
显示 更早的评论
HI everyone,
My data set consists of monthly observations of two parameters (already normalized) over a 50 years time window?
I require to compute the time-lag between these two time series on yearly basis, at first. IN addition, I also need to compute the time lag over 5 years windows or any other window length.
May someone suggest how i can accurately compute the phase lag.
Here is what I did so far:
% Data presentation
cd_ev=readmatrix('file.csv'); % selected candidate earthquake
tim=datenum(cd_ev(:,3),cd_ev(:,4),cd_ev(:,5),cd_ev(:,6),cd_ev(:,7),cd_ev(:,8));
p1=cd_ev(:, 9);
p2=cd_ev(:, 10);
figure(1)
plot(tim, p1)
hold on
plot(tim, p2)
hold off
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1396099/image.png)
Cross-correlation result
[c,lags] = xcorr(p1,p2);
[c,lags] = xcorr(p1,p2,'normalized');
figure(2)
stem(lags,c)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1396104/image.png)
Thank you!
回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!