共轭梯度法求线性方程组的解matlab程序.docxVIP

  • 93
  • 0
  • 约小于1千字
  • 约 1页
  • 2020-02-08 发布于浙江
  • 举报

共轭梯度法求线性方程组的解matlab程序.docx

一、函数代码: function x=cg(a,b,c,x0) 注释: ax=b;c表示误差精度;x0表示初始向量,c和x0均可省略,但如果c省略了,则x0必须省略。 n=length(a); if nargin4 x0=zeros(n,1); end if nargin3 c=10^(-3); end r0=b-a*x0; r=r0; d=r0; m=zeros(n,1); p=zeros(n,1); x=x0; for k=0:n-1 m(k+1)=r*r/(d*a*d); x=x+m(k+1)*d; r=b-a*x; if norm(r,inf)=c || k+1==n break; end p(k+1)=norm(r)^2/norm(r0)^2; d=r+p(k+1)*d; r0=r; end 二、在命令窗体中输入参数a、b、c、x0以及x=cg(a,b,c,x0),即可求出线性方程组的解。

文档评论(0)

1亿VIP精品文档

相关文档