Mercurial > hg > ishara
annotate general/arrutils/lags.m @ 4:e44f49929e56
Adding reorganised general toolbox, now in several subdirectories.
author | samer |
---|---|
date | Sat, 12 Jan 2013 19:21:22 +0000 |
parents | |
children |
rev | line source |
---|---|
samer@4 | 1 function Y=lags(X,tau) |
samer@4 | 2 % lags - returns lagged versions of sequence in X |
samer@4 | 3 % |
samer@4 | 4 % lags :: [[N,T]], [[K]->integer]~'K lags' -> [[N,T2,K]]. |
samer@4 | 5 % |
samer@4 | 6 % T2 is the maxmimum length such that all lagged sequences contain valid data. |
samer@4 | 7 |
samer@4 | 8 % doesn't work for data sequences yet |
samer@4 | 9 if isdata(X), X=head(X); end |
samer@4 | 10 |
samer@4 | 11 tau=tau-min(tau); % zero base lags |
samer@4 | 12 [N T0]=size(X); |
samer@4 | 13 M=length(tau); |
samer@4 | 14 T=T0-max(tau); |
samer@4 | 15 Y=zeros(N,T,M); |
samer@4 | 16 |
samer@4 | 17 tt=1:T; |
samer@4 | 18 for i=1:length(tau) |
samer@4 | 19 Y(:,:,i)=X(:,tau(i)+tt); |
samer@4 | 20 end |