设为首页收藏本站

EPS数据狗论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1409|回复: 0

[Matlab数据分析]迭代法解线性方程组

[复制链接]

13

主题

152

金钱

235

积分

入门用户

发表于 2018-8-16 11:00:32 | 显示全部楼层 |阅读模式
求解线性方程组的非线性迭代方法包括预条件法与共轭梯度法等。
1.共轭梯度法

MATLAB提供了cgs函数对方程组进行共轭梯度法求解,该函数的调用格式如下:

  1. x=cgs(A,b)
  2. cgs(A,b,tol)
  3. cgs(A,b,tol,maxit)
  4. cgs(A,b,tol,maxit,M)
  5. cgs(A,b,tol,maxit,M1,M2)
  6. cgs(A,b,tol,maxit,M1,M2,x0)
  7. [x,flag]=cgs(A,b,...)
  8. [x,flag,relres]=cgs(A,b,...)
  9. [x,flag,relres,iter]=cgs(A,b,...)
  10. [x,flag,relres,iter,resvec]=cgs(A,b,...)
复制代码
其中,A为系数矩阵(必须为方阵);b为方程右项常数向量;tol为误差,默认为1e-6;maxit为最大迭代次数,默认为20;M或M=M1*M2用来进行inv(M)*A*x= inv(M)*b替代,称为预条件,默认为[];x0为初始值,默认为零向量;x为返回的解向量;flag为收敛判定标识;iter为迭代次数;resvec为残余向量。

例10-4,使用共轭梯度法求解方程组。

在命令行窗口输入:
  1. A=magic(3);
  2. b=[71011]';
  3. tol=1e-12;maxit=15;
  4. M1=diag([111]);
  5. x=cgs(A,b,tol,maxit,M1)
复制代码
输出结果如下:
  1. cgs converged at iteration 3 to a solution with relative residual 4.7e-14.
  2. x = 0.2889
  3. 0.9556
  4. 0.6222
复制代码
2.预条件共轭梯度法

MATLAB提供了pcg函数对方程组进行预条件共轭梯度法求解,该函数的调用格式如下:
  1. x=pcg(A,b)
  2. pcg(A,b,tol)
  3. pcg(A,b,tol,maxit)
  4. pcg(A,b,tol,maxit,M)
  5. pcg(A,b,tol,maxit,M1,M2)
  6. pcg(A,b,tol,maxit,M1,M2,x0)
  7. [x,flag]=pcg(A,b,...)
  8. [x,flag,relres]=pcg(A,b,...)
  9. [x,flag,relres,iter]=pcg(A,b,...)
  10. [x,flag,relres,iter,resvec]=pcg(A,b,...)
复制代码
其中,A为系数矩阵(必须为方阵);b为方程右项常数向量;tol为误差,默认为1e-6;maxit为最大迭代次数,默认为20;M或M=M1*M2用来进行inv(M)*A*x= inv(M)*b替代,称为预条件,默认为[];x0为初始值,默认为零向量;x为返回的解向量;flag为收敛判定标识;iter为迭代次数;resvec为残余向量。

例10-5,使用预条件共轭梯度法求解方程组示例。

在命令行窗口输入:
  1. A=hilb(3);
  2. b=[71011]';
  3. tol=1e-12;maxit=15;
  4. M1=diag([111]);
  5. x=pcg(A,b,tol,maxit,M1)
复制代码
输出结果如下:
  1. pcg converged at iteration 3 to a solution with relative residual 2.4e-13.
  2.     x = 33.0000
  3.          -312.0000
  4.          390.0000
复制代码

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

客服中心
关闭
在线时间:
周一~周五
8:30-17:30
QQ群:
653541906
联系电话:
010-85786021-8017
在线咨询
客服中心

意见反馈|网站地图|手机版|小黑屋|EPS数据狗论坛 ( 京ICP备09019565号-3 )   

Powered by BFIT! X3.4

© 2008-2028 BFIT Inc.

快速回复 返回顶部 返回列表