rawcg.m

来自「求解线性系统的Krylov方法的工具箱」· M 代码 · 共 28 行

M
28
字号
%function y=CG(A,b,x0)
%developped by Plum
%this algorithm is to sovle the linear system Ax=b
%where A is a n-by-n matrix
function [y,x]=RawCG(A,b,x0)
k=0;
r=b-A*x0;
err=1;
while err>0.00001
    k=k+1;
    if k<100
      if k==1
          p=r;
      else
          beta=-p'*A*r/(p'*A*p);
          p=r+beta*p;
      end  
      alpha=p'*r/(p'*A*p);
      x1=x0+alpha*p;
      r=b-A*x1;
      err=norm(r,inf);
      x0=x1;
    else
        break;
    end
end
y=k;
x=x1;

⌨️ 快捷键说明

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