📄 chenmh_obpasto.m
字号:
function [filtered_out, V, err_out, Orth, V_all] = Chenmh_obPASTO(x,Rn_inv,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_out = zeros(p,T);
filtered_out = zeros(p,T);
Orth = zeros(1,T);
V_all = cell(1,T);
for t = 1:T
xin = x(:,t);
z = V'*Rn_inv*xin; h = Ei*z;
g = h/(beta+z'*h);
e = xin-V*z;
temp = g'*g+eps;
Tao = (1/sqrt(1+e'*Rn_inv*e*temp)-1)/temp;
e_hat = Tao*V*g+(1+Tao*temp)*e;
V = V + e_hat*g';
Ei = (Ei-g*h')/beta;
filtered_out(:,t) = V*z;
err_out(:,t) = e;
Orth(t) = norm(V'*Rn_inv*V-eye(r),'fro');
V_all{t} = V;
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -