欢迎来到天天文库
浏览记录
ID:60877967
大小:2.09 MB
页数:119页
时间:2020-02-03
《第4章线性方程组的数值解法.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章线性方程组的数值解法4.1引言在工程技术和科学研究中,很多科学计算的问题往往直接或间接地归结为求解线性代数方程组。常见的线性代数方程组是方程个数和未知量个数相同的阶线性方程组,它的一般形式是其中,、为常数,为待求的未知量(4.1)用矩阵形式表示是其中:一般。当系数矩阵非奇异(行列式不为零),即时,方程组(4.1)有惟一解。对于线性代数方程组的解法大致可分为两类,即直接解法和迭代解法。直接解法是指在假设没有舍入误差的条件下,经过有限次算数运算就能求得方程组精确解的方法。然而实际计算中由于舍入误差
2、的影响,这类方法也只能求得近似解;迭代解法就是从一个已知的初始近似值开始,按一定的法则逐步求出解的各个更准确的近似值的方法,它是用某种极限过程去逐步逼近精确解的方法。在本章中主要介绍高斯消去法、列主元高斯消去法、约当消去法、三角分解法等直接解法以及雅可比、高斯—赛德尔和超松弛等迭代解法。4.2高斯(Gauss)消去法4.2.1高斯消去法的基本思想高斯消去法是最古老的求解线性代数方程组的方法之一,高斯消去法是消去法的一种特殊形式,它包括消元与回代两个过程。设,对行计算乘数用乘以第个方程后加到第个方程到
3、第个方程中,消去第个方程到第个方程的未知数,得到只要设就可以继续进行消元,直到经过次消元后,将线性方程组(4.1)化为(4.2)所示上三角方程组(以上计算过程称为消元过程)。(4.2)消元过程结束后,只要设,对上三角方程组就可以自下而上逐步回代,依次求得,即4.2.2实现高斯消去法的基本步骤(1)输入方程组的阶数n,系数矩阵A和右端常数矩阵b。(2)消元过程:设,对,计算:(3)回代过程(4)输出方程组的解。(5)结束。例4.1用高斯消去法求解线性方程组,式中#defineN3/*N为方程组系数矩阵
4、的阶数*/intGauss(floata[N][N],floatb[N]){inti,j,k,flag=1;floatt;for(i=0;i5、floata[N][N],floatb[N])/*输出增广矩阵*/{inti,j;for(i=0;i6、,0,0};inti,j,flag;zg_matric(a,b);flag=Gauss(a,b);if(flag==0)/*无解*/printf("Gaussmethoddoesnotrun.");else/*回代过程开始*/{x[N-1]=b[N-1]/a[N-1][N-1];for(i=N-2;i>=0;i--){x[i]=b[i];for(j=i+1;j7、组的解*/printf("x%d=%11.7f",i+1,x[i]);}}程序运行结果:0.1000000.3000000.5000001.0000003.0000001.000000-1.0000005.0000003.0000005.0000004.0000003.000000x1=5.4583359x2=-6.5416689x3=4.83333444.3列主元高斯消去法4.3.1列主元高斯消去法的基本思想高斯消去法,一直是在假设的情况下进行的,并且是按照方程组中各方程所给定的顺序进行的,所8、以这种方法又称为顺序消去法。但当时,消元过程就无法进行。另外,即使,但其绝对值很小时,用它作除数时,根据数值运算中“用绝对值很小的数做除数,舍入误差会增大,而且严重影响计算结果的精度”的原则,这种方法在一定程度上也具有局限性。为了克服这一局限性,产生了列主元高斯消去法。这种消去法在高斯消去法每次进行消元之前先选取绝对值最大的元素作为主元素(位于主对角线上的在消去过程中用作除数的元素称为主元素,简称主元)进行消去。列主元高斯消去法,是在高斯消去法的消去过程中,第步()增
5、floata[N][N],floatb[N])/*输出增广矩阵*/{inti,j;for(i=0;i6、,0,0};inti,j,flag;zg_matric(a,b);flag=Gauss(a,b);if(flag==0)/*无解*/printf("Gaussmethoddoesnotrun.");else/*回代过程开始*/{x[N-1]=b[N-1]/a[N-1][N-1];for(i=N-2;i>=0;i--){x[i]=b[i];for(j=i+1;j7、组的解*/printf("x%d=%11.7f",i+1,x[i]);}}程序运行结果:0.1000000.3000000.5000001.0000003.0000001.000000-1.0000005.0000003.0000005.0000004.0000003.000000x1=5.4583359x2=-6.5416689x3=4.83333444.3列主元高斯消去法4.3.1列主元高斯消去法的基本思想高斯消去法,一直是在假设的情况下进行的,并且是按照方程组中各方程所给定的顺序进行的,所8、以这种方法又称为顺序消去法。但当时,消元过程就无法进行。另外,即使,但其绝对值很小时,用它作除数时,根据数值运算中“用绝对值很小的数做除数,舍入误差会增大,而且严重影响计算结果的精度”的原则,这种方法在一定程度上也具有局限性。为了克服这一局限性,产生了列主元高斯消去法。这种消去法在高斯消去法每次进行消元之前先选取绝对值最大的元素作为主元素(位于主对角线上的在消去过程中用作除数的元素称为主元素,简称主元)进行消去。列主元高斯消去法,是在高斯消去法的消去过程中,第步()增
6、,0,0};inti,j,flag;zg_matric(a,b);flag=Gauss(a,b);if(flag==0)/*无解*/printf("Gaussmethoddoesnotrun.");else/*回代过程开始*/{x[N-1]=b[N-1]/a[N-1][N-1];for(i=N-2;i>=0;i--){x[i]=b[i];for(j=i+1;j7、组的解*/printf("x%d=%11.7f",i+1,x[i]);}}程序运行结果:0.1000000.3000000.5000001.0000003.0000001.000000-1.0000005.0000003.0000005.0000004.0000003.000000x1=5.4583359x2=-6.5416689x3=4.83333444.3列主元高斯消去法4.3.1列主元高斯消去法的基本思想高斯消去法,一直是在假设的情况下进行的,并且是按照方程组中各方程所给定的顺序进行的,所8、以这种方法又称为顺序消去法。但当时,消元过程就无法进行。另外,即使,但其绝对值很小时,用它作除数时,根据数值运算中“用绝对值很小的数做除数,舍入误差会增大,而且严重影响计算结果的精度”的原则,这种方法在一定程度上也具有局限性。为了克服这一局限性,产生了列主元高斯消去法。这种消去法在高斯消去法每次进行消元之前先选取绝对值最大的元素作为主元素(位于主对角线上的在消去过程中用作除数的元素称为主元素,简称主元)进行消去。列主元高斯消去法,是在高斯消去法的消去过程中,第步()增
7、组的解*/printf("x%d=%11.7f",i+1,x[i]);}}程序运行结果:0.1000000.3000000.5000001.0000003.0000001.000000-1.0000005.0000003.0000005.0000004.0000003.000000x1=5.4583359x2=-6.5416689x3=4.83333444.3列主元高斯消去法4.3.1列主元高斯消去法的基本思想高斯消去法,一直是在假设的情况下进行的,并且是按照方程组中各方程所给定的顺序进行的,所
8、以这种方法又称为顺序消去法。但当时,消元过程就无法进行。另外,即使,但其绝对值很小时,用它作除数时,根据数值运算中“用绝对值很小的数做除数,舍入误差会增大,而且严重影响计算结果的精度”的原则,这种方法在一定程度上也具有局限性。为了克服这一局限性,产生了列主元高斯消去法。这种消去法在高斯消去法每次进行消元之前先选取绝对值最大的元素作为主元素(位于主对角线上的在消去过程中用作除数的元素称为主元素,简称主元)进行消去。列主元高斯消去法,是在高斯消去法的消去过程中,第步()增
此文档下载收益归作者所有