爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 833|回复: 0

[讨论] 关于 Matlab 算超前滞后相关

[复制链接]

新浪微博达人勋

发表于 2023-8-24 10:16:29 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
关于超前滞后相关的算法程序的分享
  1. % 生成示例数据
  2. clc;clear all;close all;
  3. t = 0:0.1:10; % 时间点
  4. signal1 = sin(t); % 第一个信号(正弦波)
  5. signal2 = sin(t + pi/4); % 第二个信号(相位滞后正弦波)

  6. % 计算超前滞后相关性
  7. max_lag = 100;%length(t) - 1; % 最大滞后值
  8. [lagged_correlations, lag_range] = xcorr(signal1, signal2, max_lag, 'coeff');

  9. % 绘制超前滞后相关性图
  10. figure
  11. plot(lag_range, lagged_correlations, 'o-','linewidth',2)
  12. hold on
  13. plot([lag_range(1) lag_range(end)],[0 0],'color',[0.5 0.5 0.5],'linewidth',2);
  14. plot([0 0],[-1 1],'color',[0.5 0.5 0.5],'linewidth',2);
  15. xlabel('Lag')
  16. ylabel('Correlation Coefficient')
  17. title('Lead-Lag Correlation between Signal 1 and Signal 2')
  18. set(gca,'ticklength',[0.02 0.01]);
  19. set(gca,'tickdir','out','fontsize',20);
  20. set(gca,'fontsize',15);

  21. % 找到最大超前滞后相关系数及其对应的超前/滞后位置
  22. [max_correlation, max_idx] = max(lagged_correlations);
  23. best_lag = lag_range(max_idx);

  24. fprintf('最大超前/滞后相关系数: %.4f\n', max_correlation);
  25. fprintf('对应的超前/滞后位置: %d\n', best_lag);
复制代码


T1.jpg
T2.jpg
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表