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