conjgrad.m
来自「麻省理工ComputationalMethod」· M 代码 · 共 32 行
M
32 行
function xs=conjgrad(A,b,x0)
%CONJGRAD Conjugate Gradient (educational)
r0=b-A*x0;
x=x0;
r=r0;
ps=[];
xs=x;
i=0;
while norm(r)>norm(r0)*1e-3
i=i+1;
p0=r;
p=p0;
if i>1
pk=rold;
beta=-(p0'*A*pk)/(pk'*A*pk);
p=p+beta*pk;
end
Ap=A*p;
alpha=(p'*r)/(p'*Ap);
x=x+alpha*p;
rold=r;
r=r-alpha*Ap;
xs=[xs,x];
ps=[ps,p];
end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?