📄 chenmh_fapi.m
字号:
function [V, err, orth] = Chenmh_FAPI(x,r,beta);
[p,T] = size(x);
if (r > p) disp(['Subspace dimension error!']); end
V = eye(p); V = V(:,1:r);
Ei = eye(r);
err = zeros(1,T);
orth = zeros(1,T);
for t = 1:T
x_in = x(:,t);
z = V'*x_in; h = Ei*z;
g = h/(beta+z'*h);
e = x_in-V*z;
tau = e'*e/(1+(e'*e)*(g'*g)+(1+(e'*e)*(g'*g))^0.5);
const = 1-tau*(g'*g);
h_hat = Ei'*(const*z+tau*g);
epn = tau/const*(Ei*g-(h_hat'*g)*g);
Ei = 1/beta*(Ei-g*h_hat'+epn*g');
e_hat = const*e-tau*V*g;
V = V + e_hat*g';
err(t) = norm(e);
orth(t) = norm(V'*V-eye(r),'fro');
end
%% Rubbish
% temp = eye(r)+e'*e*g*g';
% [U,S] = svd(temp);
% Thi = U*S^-0.5*U';
% Ei = 1/beta*Thi'*(eye(r)-g*z')*Ei*(Thi')^-1;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -