scgnr.m
来自「求解线性系统的Krylov方法的工具箱」· M 代码 · 共 19 行
M
19 行
function [x,iter]=scgnr(A,b)
n=length(A);iter=1;x0=zeros(n,1);
r=b-A*x0;r=A'*r;p=r;tol=1e-6;err=1;maxit=20;x=x0;tol=tol*norm(b);
while err>tol
iter=iter+1;
w=A*p;norm_w=norm(w);rr=(r'*r);
alph=rr/norm_w^2;
x=x+alph*p;
r=r-alph*w;
err=norm(r);
r=A'*r;
rr1=r'*r;
beta=rr1/rr;
rr=rr1;
p=r+beta*p;
if iter>maxit
break;
end
end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?