共轭梯度方法旨在解决线性方程组,Ax = b, a是对称的,没有计算的逆a。它只需要少量的membory,因此特别适合大规模的系统。
它是比其他的方法如高斯消去法如果是状态良好的。例如,
n = 1000;
(U, V) =圣言(randn (n));
s =诊断接头(年代);
一个= U *诊断接头(s +马克斯(s)) * U ';%对称,well-contioned
b = randn (1000 1);
抽搐,x = conjgrad (A, b); toc
抽搐,x1 = \ b; toc
规范(x-x1)
规范(x - a * b)
共轭梯度是两到三倍的速度比\ b,它使用Gaissian消除。
引用作为
易曹(2023)。共轭梯度法(//www.tianjin-qmedu.com/matlabcentral/fileexchange/22494-conjugate-gradient-method), MATLAB中央文件交换。检索。