- 积分
- 10326
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2015-9-5
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
最近,用到了滑动相关分析,学习了论坛里各位前辈发的帖子。最后,参考ncl的滑动相关脚本,改写了matlab的计算函数,以方便使用。
所谓滑动相关,其实就是在给定滑动窗口的前提下,计算两段特定子序列的相关系数,并且这两段子序列会随之发生变化,但是其窗口长度是不变的,因此便得到了滑动相关系数。主要代码如下,具体参数说明及使用可以见附件!
程序如有错误,还望大家可以指出,谢谢!
- function [cor,date]=run_corr(x,y,time,wSize)
- N=length(x);
- if N~=length(y) || N~=length(time)
- print('run_cor: input array are different sizes: fatal');
- return
- end
-
- if isa(x,'double') || isa(y,'double')
- cor=ones((N-(wSize-1)),1).*nan;
- cor=double(cor);
- else
- cor=ones((N-(wSize-1)),1).*nan;
- cor=float(cor);
- end
-
- date=ones((N-(wSize-1)),1).*nan;
-
- k=(wSize-1)/2;
- for j=1:N-wSize+1
- date(j,1)=time(k)+j;
- end
-
- for i=1:N-wSize+1
- aa=x(i:i+(wSize-1));
- bb=y(i:i+(wSize-1));
- cor(i,1)=corr(aa,bb,'type','Pearson');
- end
- end
复制代码
|
|