• 大小: 1KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-04-18
  • 语言: Matlab
  • 标签: SSA  信号  

资源简介

即奇异谱分析,广泛用于信号识别与预测。

资源截图

代码片段和文件信息

function [sing_valuesUV] = ssa(ts L)

%
%  Performs decomposition stage of the Caterpillar-SSA algorithm
%  i.e. construction of trajectory matrix from a time series 
%  and its Singular Value Decomposition
%
%  Parameters:
%    ts -- a time series (a column)
%    L -- window length (1%
%  Returns:
%    sing_values -- array of M singular values (square roots of eigen values)
%                   M=min(rank(ts)L)
%    U -- a matrix of M eigenvectors of length L (R^LxM) M=min(rank(ts)L)
%    V -- a matrix of M factorvectors of length K (R^KxM) M=min(rank(ts)L)
%
%
%  If you modify this source code somehow please send me the modified version.
%
%
%  (c) Theodore Alexandrov (autossa@gmail.com)
%  Last modified: 8 May 2006 
%


N=length(ts);
K=N-L+1;  % K must be >=1!
if K<1
    errordlg(‘Wrong L. SSA is cancelled.‘ ‘Error‘);
    return
end

%form trajectory matrix
X=zeros(LK);
for i=1:L
    X(i:)=ts(i:i-1+K)‘;
end

% prepare to finite rank time series
M=min( rank(X) L );


%SVD
[USV] = svd(X); % U_i is a column in U {V_i} are the first L columns of V


%extract sing.values and cut them to the rank if rank%it‘s necessary for finite rank time series
sing_values=diag(S);
if M    sing_values=sing_values(1:M);
end

%cut eigen vectors to the rank if rankif M    U=U(:1:M);
end

%extract factor vectors
V=V(:1:M);


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        1464  2007-10-22 13:38  ssa.m

评论

共有 条评论