欢迎来到天天文库
浏览记录
ID:25714409
大小:370.00 KB
页数:13页
时间:2018-11-22
《数值分析3new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第三章线性代数方程组的数值解法§3.1引言求解线性方程组(大型)是科学和工程计算中最常用的方法,很多实际问题如:电路网络、结构设计等可以采用线性方程组模拟;数据处理和曲线拟合(最小二乘、三次样条)最终也化为方程组形式;非线性方程组中的方法及大量非线性的微分方程,利用有限差分或有限元法求解时,可得大型稀疏的离散方程组.线性方程组的一般形式是:(3.1.1)其矩阵向量表示式为(3.1.2)这里,是列向量.(这里我们仅考虑方阵)求解(3.1.2)的方法中,最熟悉的是法则,它只适合很小的情况,当较大时,基本行不通.但对所谓的三
2、角方程组如:下三角方程组:如果,则一般地,对下三角方程组:有(3.1.3)称为向前消去(ForwardSubstitution).同理,对一般的上三角方程组:有(3.1.4)称为向后消去(BackSubstitution).基于向后消去的基本算法为:〖算法〗forend(此算法需要个flop,U按行调用)本章介绍的高斯消去法的基本思想即是将一个线性方程组化为三角方程组,并针对这种算法的缺点提出一些变形,同时将介绍基本迭代法如:迭代法和迭代法.13所谓直接法就是将方程组(3.1.2)化为与之等价的上三角方程组高斯消去法即
3、经步消元得到上式;而直接三角分解法是先将作三角分解然后求解两个三角方程组(3.1.5)§3.2高斯消去法(GaussianElimination)一、顺序消去过程和矩阵的三角分解将线性方程组(3.1.2)的增广阵记为:==第一步消元:设,利用矩阵的行变换将中的第一列元素除外全部消为零.==这里所用的行变换为:,,显然方程组若从矩阵的角度出发,上述变换相当于对左乘一个矩阵.这里,,,即使得=.一般地,假设已作了次消元,得到,即==13则方程组可以想象,经步消元得到==且方程组这里=,每个=是单位上三角阵,.由方程组可解得
4、上述求解过程即为高斯消去法的回代过程,简称高斯消去法或称为顺序的高斯消去法.一、矩阵的分解(Factorization)由高肆消去法过程可知:每个都是单位下三角阵,因而可逆,且仍是下三角阵.由==及=所以===(3.2.1)(=-单位下三角阵,=-上三角阵)称(3.2.1)为矩阵的分解(分解).注意:(1)为节省存储空间,可将每次的消元因子存放在的0元相应位置上,即并且由的分解立刻可知:.(2)高斯消去的回代过程等价于求两个线性方程组具体可按下式求解:13,在中,可通过调用[L,U]=lu(A)来完成矩阵的分解.求线性
5、方程组系数阵的分解,并求方程组的解.解:A=[3103;24-11;1-1-71;-123-8];[L,U]=lu(A)L=1.00000000.66671.0000000.3333-0.40001.00000-0.33330.7000-0.50001.0000U=3.00001.000003.000003.3333-1.0000-1.000000-7.4000-0.4000000-6.5000b=[41-34]';y=Lby=4.0000-1.6667-5.00004.0000x=Uyx=2.1060-0.471
6、90.7089-0.6154(3)高斯消去法的运算量加减运算量:乘除法运算量:一般考虑运算量只估计乘除法运算次数,且可以略去的底次项,因此高斯消去法的计算量为13数量级.一、可行性高斯消去法及其回代过程均须要求主元数,否则出现益出停机.因此要进行适当的处理(如选主元),但对下面出现的情况,则可以对原方程组不作任何处理地进行高斯变换.1.若矩阵的个阶顺序主子式均不为零,则2.对称正定,则3.严格对角占优,则二、数值稳定性1.选主元的必要性如果系数矩阵不满足高斯消去法在计算机上的可行条件,那么解题过程会出现溢出或数值不稳定
7、主要出现两种情况:(1)出现零主元如:因,在计算机上将出现溢出,当简单证明可知该方程组有唯一解.(2)出现小主元如:可算得其精确解为:=10,=1,当如作高斯消元,解得.可见主元太小可致使结果不稳定.当如果交换两个方程的顺序,将方程表示成,消元回代得总之,只要原方程存在唯一解,且不是病态方程组,总可以对方程组进行行(列)交换来消除0(小)主元对数值计算的影响,这是选主元的思想.2.列主元法设在第步消元得到13=第一步:选主元在第步消元之前,选出第列中位于对角线及其以下元数绝对值最大者,即(如有多个选择具有最小行标的元)
8、第二步:当时,交换的行与行(记为)第三步:继续消元,得,转第一步,直到为止.用高斯列主元消去法求线性方程组的解.解:=经回代得注意:(1)列主元的高斯消去法,由于消元因子故一般能保证舍入误差不扩散,因而方法基本上是稳定的.在中可以通过调用[L,U,P]=lu(A)来完成矩阵的列主元消去.如在命令窗口键入:13A=[12-33;18
此文档下载收益归作者所有