⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chenmh_bisvd.m

📁 Frequently used algorithms for numerical analysis and signal processing
💻 M
字号:
function [V, err, orth, V_all, EigVal] = Chenmh_BiSVD(x,r,alpha);
%  Chen minhua, 2006.02.10.
%  Bi-Iteration SVD subspace tracking. 
%  "Bi-Iteration SVD Subspace Tracking algorithms," 
%  IEEE Trans. Signal Processing.

[p,T] = size(x);
if (r > p) disp(['Subspace dimension error!']); end
V = eye(p); V = V(:,1:r);
err = zeros(1,T);
Tri = zeros(r,r);   % Upper Triangular.
Dis = ones(r,r);   % Distance of consecutive subspaces.
V_all = {};
EigVal = zeros(r,T);
for t = 1:T
    x_in = x(:,t);
    z = V'*x_in; 
    e = x_in-V*z;
    err(t) = norm(e,'fro');
    e_unit = e/err(t);
    Aug = [alpha*Tri*Dis+(1-alpha)*z*z'; (1-alpha)*err(t)*z'];
    [G,Tri] = qr(Aug,0);  %% Load some constraint for "f"! 
    V = [V, e_unit]*G;
    Dis = G(1:r,:);
    
    orth(t) = norm(V'*V-eye(r),'fro');
    V_all{t} = V;
    EigVal(:,t) = diag(Tri);
end



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -