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

📄 irls.m

📁 这是在网上下的一个东东
💻 M
字号:
%% x=irls(A,b,tolr,tolx,p,maxiter)%% This function uses the iteratively reweight least squares strategy% to find an approximate L_p solution to Ax=b.  %% Inputs;%   A             Matrix of the system of equations.%   b             right hand side of the system of equations.%   tol           Tolerance below which residuals are ignored.%   p             Specifies which p-norm to use.%   maxiter       Limit on number of iterations of IRLS%% Outputs:%   x             Approximate L_p solution.  %function x=irls(A,b,tolr,tolx,p,maxiter)%% Find the size of the matrix A.%[m,n]=size(A);%% Start the first iteration with R=I, and x=A\b (the lsq solution)%R=eye(m);x=A\b;%% Now loop up to maxiter iterations%iter=1;while (iter <= maxiter)  iter=iter+1;  r=A*x-b;  for i=1:m    if (abs(r(i)) < tolr)      r(i)=abs(tolr)^(p-2);    else      r(i)=abs(r(i))^(p-2);    end  end  R=diag(r);  newx=(A'*R*A)\(A'*R*b);  if (norm(newx-x)/(1+norm(x)) < tolx)    return;  else    x=newx;  endend

⌨️ 快捷键说明

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