解非线性方程组的迭代法.ppt_第1页
解非线性方程组的迭代法.ppt_第2页
解非线性方程组的迭代法.ppt_第3页
解非线性方程组的迭代法.ppt_第4页
解非线性方程组的迭代法.ppt_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

前面介绍的解线性方程组的直接法是解低阶稠 密方程组的有效方法。但是,在工程技术中常产生 大型稀疏矩阵方程组,例如由某些偏微分方程数值 解所产生的线性方程组Ax=b,A的阶数很大 , 但零元素较多,迭代法是能够充分利用系数矩阵稀 疏性特点的有效算法。 第四章第四章 解线性方程组的迭代法解线性方程组的迭代法 迭代法的构造 迭代法的基本思想是用逐次逼近的方法求线性方程组的解 。 设有方程组 ,将其转化为等价的便于迭代的形式 (这种转化总能实现,如令 )并由此构造迭 代公式 其中, 称为迭代矩阵, 称为迭代向量。对任意的初始向 量 ,由迭代式可求得向量序列 若 ,则 就是方程组Ax=b的解. 4.1 解线性方程组的三种迭代法 4.1.1雅克比(Jacobi)迭代法(以三阶方程组为例) 设有方程组: 假设 任选一向量X(0)作为解的初值. 则方程组可写为: 代入式(4.1)中得方程组的一次近似. 把X(1) 再代入到(4.1)中得方程组的二次近似. 重复这一过程,假设得到了m次近似X(m)。代入到(4.1)中 可得m+1次近似X(m+1)。 称此迭代公式为原方程组的雅可比迭代公式. 对于n阶方程组 则雅可比迭代公式为: 若用矩阵来记录雅可比矩阵,可作如下的推导: 令A=D-L-U,其中 则有AX=DX-LX-UX=b.即DX=b+(L+U)X 从而有DX(m+1)=b+(L+U)X(m).若 则D可逆,于是得 称BJ为雅可比迭代矩阵.这种迭代格式称为雅可比迭代格式 。 在某种条件下,按雅可比迭代所产生的向量序列的极限 会存在,且等于原方程组的解。这种求解方法被称为雅 可比迭代法,或简单迭代法。 定义4.1 如果向量序列X(m)=(x1(m) , x2(m) , xn(m) 有 xi(m) xi* (i=1,2,3,n) (m ) 则称向量X*=(x1*,x2*,xn*)为向量序列X(m)的极限,记为: 例 用简单迭代法解下列方程组 解将方程组写成等价形式 取初始值x(0)= 0,按迭代公式 4.1.2 高斯赛德尔迭代法 对雅可比迭代法作如下的改进:将初值 代入4.1的第一个方程可得 ,用 代入第二个方 程得 ,用 代入第三个方程得 , 这样 一直做下去,直到得到满意的解为止.之所以作这样的改进 是希望更快的得到近似解. 这种迭代的方法用公式写出来就是: 对给定的初值,用此迭代公式求线性方程组的方法被称为 高斯塞德尔迭代法。(GS) 一般地,对n阶线性方程组的迭代格式改为: 用矩阵表示此方法为: 即: 称BG为高斯塞德尔迭代矩阵 例 用赛德尔迭代法解 方程组 解 将原方程组写成等价形式并按 (375)构造赛德尔迭代公式 例1:分别用两种迭代法求下列线性方程组。 初值均取(0,0,0)T 解:用matlab解,程序如下 %用雅可比法解P91例1 a=9,-1,-1;-1,8,0;-1,0,9; D=-(a-triu(a)-tril(a); L=-(tril(a)-b); U=-(triu(a)-b); xo=0;0;0;bo=7;7;8; ep=0.0001;dx=1;k=0; while dxep k=k+1; x=D(L+U)*xo+Dbo; dx=abs(norm(x)- norm(xo); xo=x; end k,x %用G_S法解P91例1 a=9,-1,-1;-1,8,0;-1,0,9; D=-(a-triu(a)-tril(a); L=-(tril(a)-b); U=-(triu(a)-b); xo=0;0;0;bo=7;7;8; ep=0.0001;dx=1;k=0; while dxep k=k+1; x=(D-L)U*xo+(D-L)bo; dx=abs(norm(x)- norm(xo); xo=x; end k,x 在多数情况下用高斯赛德尔迭代法比雅克比 迭代法收敛快。但也有相反的情况,即高斯赛德 尔迭代法比雅克比迭代法收敛慢,甚至还有雅克比 迭代法收敛,高斯赛德尔迭代法发散的情形。 4.1.3 超松弛迭代法 弛迭代法是高斯赛德尔迭代法的一种改进,是解大型稀 疏矩阵方程组的有效方法之一. 现在研究如何求向量 首先,由高斯赛德尔迭代法求出一个值,记 首先,由高斯赛德尔迭代法求出一个值,记 用此公式求解线性方程组的方法称为带有松弛因子的松弛迭代法 . 当1时称为超松弛迭代法;(SOR法) 当ep k=k+1; x=(D- omiga*L)(omiga* U+(1- omiga)*D)*xo+(D- omiga*L)bo*omig a; dx=abs(norm(x)- norm(xo); xo=x; end k,x Matlab的关于三种迭代法的通用程序 %雅可比法解方程的通用程序 %A为线性方程组,X为初值 function x,k=ya2(A,X) n=length(A); a=A(:,1:n-1); bo=A(:,n);N=size(X); if N(1)ep k=k+1; x=D(L+U)*xo+Dbo; dx=norm(x-xo); xo=x; end 1.雅可比迭代法的通用程序 2.高斯_塞德尔迭代法的通用程序 %G_S法解方程组的通用程序 %A为线性方程组,X为初值 function x,k=ya4(A,X) n=length(A); a=A(:,1:n-1); bo=A(:,n);N=size(X); if N(1)ep k=k+1; x=(D-L)U*xo+(D-L)bo; dx=norm(x-xo); xo=x; end 3.SOR法解线性方程组的通用程序 %SOR法解方程组的通用程序 %A为线性方程组,X为初值 % omiga为松弛因子 function x,k=ya3(A,X,omiga) n=length(A); a=A(:,1:n- 1);bo=A(:,n);N=size(X); if N(1)ep k=k+1; x=(D-omiga*L)(omiga*U+(1- omiga)*D)*xo+(D- omiga*L)bo*omiga; dx=norm(x-xo); xo=x; end 4.2 迭代法的收敛条件 前面介绍了三种迭代法.从例子看到这三种迭代法 都有成功的时候.但我们也可以预计,某种迭代法可能会 失效.下面我们试图从理论上来探讨这一问题.三种迭代 法的统一写法为: 定义 设给定Rn中的向量序列 ,即 其中 若对任何i (i = 1, 2, n )都有 或者说向量序列 依坐标收敛于向量,记为 则向量 称为向量序列 的极限, 4.2.1 迭代法收敛敛的概念 证: 再由范数的等价性有 引理 向量序列x(m)依坐标收敛于x*的充要条件是 向量序列依范数收敛与依坐标收敛是等价的。 如果满足此式,称x(m) 依范数收敛于x* 定义4.2 设x*是方程组Ax=b的解,对于给定的初始向 量x(0) ,若由某种迭代法产生的向量序列x(m)有 则称该方法收敛,否则称该方法发散. 4.2.2 迭代法收敛的判定定理 定理4.1 设若 则对任意的初始向量 ,该迭代过程收敛于 的唯一解,且有估计式 证:先证 若则E-B非奇异. 用反证法: 设E-B是奇异的,则存在非零向量x,使(E-B)x=0.即有x=Bx. 两边取范数,再由范数的性质得 由于 得 与矛盾 由于E-B是非奇异的,所以方程组(E-B)x=f 的解存在且唯一. 设为x*,即x*=Bx*+f,进而有 取范数得: 由于01 由此例可以看到:对原方程组直接写出雅可比迭代公式是 不收敛的. 其系数矩阵是严格对角占优的所以用雅可比迭代法求解收敛. 其迭代格式为: 如果写出与原方程组等价的方程组 定理4.4 设方程组Ax=b的系数矩阵A为实对称正定矩阵,且 02, 则松驰迭代法 收敛. 说明:定理给出当02时,松弛迭代法收敛。但是常用的 是12的情形,所以本定理发条件称为SOR方法的收敛 条件,仅为充分条件。 例5:讨论例2中的方程组用SOR方法求解的收敛性. 解:例2中方程组的系数矩阵为:方程组 首先A是对称矩阵,再由 知A是对称正定矩阵.由定理

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论