matlab解线性方程组的迭代法.ppt

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
matlab解线性方程组的迭代法.ppt

科学计算与MATLAB 主讲:唐建国 中南大学材料科学与工程学院 2013 第十讲 解线性方程组的迭代解法 内容提要 引言 简单迭代法 赛得尔迭代法 迭代解法的收敛性 MATLAB的线性方程组求解函数2 小结 小 结 线性方程组求根方法的几何意义 线性方程组求根函数的理解与应用 谢 谢 ! * * * * * * * * * * * * * 根据给定方程组,设计出一个迭代公式,构造一数组的序列 ,代入迭代公式,计算出 ,再代入迭代公式,经过k次迭代运算后得到 ,若 收敛于某一极限数组xi,则xi就是方程组的近似解。 迭代过程本质上就是计算极限的过程,一般不能得到精确解。 迭代法的优点是程序简单,适合于大型方程组求解,但缺点是要判断迭代是否收敛和收敛速度问题。 雅可比(Jacobi(1804-1851))迭代法(简单迭代法) 赛得尔 (Seidel (1821 - 1896))迭代法 迭代解法的基本思想 1、引言 设线性代数方程组为 2、简单迭代法 展开为 若对角元素 逐一变量分离得方程组 即 此即为迭代公式 简单迭代解法的过程如下: 1 设定一组初值 第i个变量 第k次迭代 2 第一次迭代: 得到 3 第二次迭代: 得到 4 同样做法,得到第k+1次迭代: 迭代次数k的取值与精度要求有关,按下式判断: 若满足则停止迭代 为了便于编程,迭代公式可改写为: MATLAB程序设计 function [x,n]=richason(A,b,x0,eps,M) if(nargin == 3) eps = 1.0e-6; M = 200; elseif(nargin == 4) M = 200; End I =eye(size(A)); x1=x0; x=(I-A)*x0+b; n=1; 。。。。。。 while(norm(x-x1)eps) x1=x; x=(I-A)*x1+b; n = n + 1; if(n=M) disp(Warning: 迭代次数太多,现在退出!); return; end end 例:求解方程组 clear all; A =[ 1.0170 -0.0092 0.0095; -0.0092 0.9903 0.0136; 0.0095 0.0136 0.9898]; b=[1 0 1]; x0 = [0 0 0]; [x,n]=richason(A,b,x0) x = 0.9739 -0.0047 1.0010 n = 5 赛得尔迭代法与简单迭代法类似,只是迭代公式有所改进。 3、赛得尔迭代法 简单迭代法 赛得尔迭代法 MATLAB程序设计 function [x,n]=gauseidel(A,b,x0,eps,M) if nargin==3 eps= 1.0e-6; M = 200; elseif nargin == 4 M = 200; elseif nargin3 error return; end D=diag(diag(A)); %求A的对角矩阵 L=-tril(A,-1); %求A的下三角阵 U=-triu(A,1); %求A的上三角阵 。。。。。。 G=(D-L)\U; f=(D-L)\b; x=G*x0+f; n=1; %迭代次数 while norm(x-x0)=eps x0=x; x=G*x0+f; n=n+1; if(n=M) disp(Warning: 迭代次数太多,可能不收敛!); return; end end 例:线性代数方程组的迭代解法----赛得尔迭代法 clear all; A = [9 53 381; 53 381 3017; 381 3017 25317]; b=[76 489 3547]; x0=zeros(3,1); [x,n]=gauseidel(A,b,x0,1e-4,10) Warning: 迭代次数太多,可能不收敛! x = -0.8037 3.3330 -0.2450 n = 200 迭代解法的前提条件是迭代解出的近似解序列必须具有收敛性。如果近似解序列是发

您可能关注的文档

文档评论(0)

四娘 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档