augm.m

来自「关于稀疏最小二乘算法的matlab程序」· M 代码 · 共 32 行

M
32
字号
function x = augm(A,b,alpha,N)% AUGM  Solution of sparse linear least squares problems.%%       x=augm(A,b,alpha,N) solves the sparse linear least squares problem%                    min ||Ax-b||%                     x          2%       using the augmented system approach with N steps of iterative%       refinement. alpha is the scaling parameter used.if nargin < 3, alpha=max(max(abs(A)))/1000; endif nargin < 4, N=0; end[m,n]=size(A);C=[alpha*speye(m) A ; A' zeros(n)];fg=[b; zeros(n,1)];p=symmmd(C);[L,U]=lu(C(p,p));y=L\fg(p);rx(p,1)=U\y;for i=1:N,  r=alpha*rx(1:m); x=rx((m+1):(m+n));  fg=[b-A*x-r ; -A'*r/alpha];  y=L\fg(p);  drdx(p,1)=U\y;  rx=rx+drdx;endx=rx((m+1):(m+n));

⌨️ 快捷键说明

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