cg_stats.m

来自「麻省理工ComputationalMethod」· M 代码 · 共 24 行

M
24
字号
function [x,residuals2norm,errors2norm,errorsAnorm]=cg_stats(A,b,x0)

x=0*b;
r=b;
p=b;

residuals2norm=norm(r);
errors2norm=sqrt(x0'*x0);
errorsAnorm=sqrt(x0'*A*x0);
while residuals2norm(end)>1e-3*residuals2norm(1)
  Ap=A*p;
  rdotr=r'*r;

  alpha=rdotr/(p'*Ap);
  x=x+alpha*p;
  r=r-alpha*Ap;
  beta=(r'*r)/rdotr;
  p=r+beta*p;
  
  residuals2norm(end+1)=norm(r);
  errors2norm(end+1)=sqrt((x-x0)'*(x-x0));
  errorsAnorm(end+1)=sqrt((x-x0)'*A*(x-x0));
end

⌨️ 快捷键说明

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