在高斯消去法中,我们试图将原n元线性方程组消减为三角形(又称上...

上传人:子 文档编号:41825547 上传时间:2018-05-31 格式:DOC 页数:9 大小:35.50KB
返回 下载 相关 举报
在高斯消去法中,我们试图将原n元线性方程组消减为三角形(又称上..._第1页
第1页 / 共9页
在高斯消去法中,我们试图将原n元线性方程组消减为三角形(又称上..._第2页
第2页 / 共9页
在高斯消去法中,我们试图将原n元线性方程组消减为三角形(又称上..._第3页
第3页 / 共9页
在高斯消去法中,我们试图将原n元线性方程组消减为三角形(又称上..._第4页
第4页 / 共9页
在高斯消去法中,我们试图将原n元线性方程组消减为三角形(又称上..._第5页
第5页 / 共9页
点击查看更多>>
资源描述

《在高斯消去法中,我们试图将原n元线性方程组消减为三角形(又称上...》由会员分享,可在线阅读,更多相关《在高斯消去法中,我们试图将原n元线性方程组消减为三角形(又称上...(9页珍藏版)》请在金锄头文库上搜索。

1、在高斯消去法中在高斯消去法中, ,我们试图将原我们试图将原 n n 元线性方程组消减为三角形元线性方程组消减为三角形( (又称又称上上.在高斯消去法中,我们试图将原 n 元线性方程组消减为三角形(又称上三角形) 。在三角矩阵中,对角线以下的矩阵元素的系数均为0。对高斯消去法而言,最有用的是各行经标准化处理后对角线元素均为 1 的三角矩阵。图 8.15 为标准化后三角矩阵形式的原方程,对角线上的系数(彩色)和向量 Y 的各分量数值已不再是原来的数值。与图 8.15 对应的 3 个方程为:x1+x2+x3=4x2-x3=1x3=4这个方程组得求解相当简单:解最后一个方程求的 x3(即 x3 等于

2、1),将其代入上面的方程中求得 x2(x2 等于 2),再把这两个值代入第一个方程中求得 x1(即 x1 等于 1)。这一过程称为回代。高斯消去法的算法如下。1 高斯消去法算法将原方程组变换为标准矩阵;用回代法求解 xi.EMBED Equation.3 * EMBED Equation.3 =. EMBED Equation.3 图 8.15 标准三角矩阵形式的原方程2 增广矩阵在继续学习有关内容前,我们必须确定采用何种数据结构表示有n 个未知数的 n 元线性方程组。表示这类方程组的一种广泛采用的方法是增广矩阵。这种特殊的表示方法可以使矩阵的三角化和回代法的编程更简洁。图 8.16 给出了有

3、 n 个未知数的 n 元线性方程组的增广矩阵形式。增广矩阵可以用一个二维数组 Aug 表示。需要注意的是,增广矩阵有 n 行 n+1 列,增广矩阵的最后一列(以彩色标出)是常数向量Y(如,aug1.4 为 y1),增广矩阵的其余各列为系数矩阵 A(如 aug1.1为 a1,1).我们见不到有未知数的向量,当线性方程组用增广矩阵表示时,未知数是隐含的。我们的目标是把增广矩阵中的系数标准化,三角化也就是将矩阵化简到土 8.17 的形式:aug1,1, aug2,2 和,aug3,3 为 1, aug2,1 ,aug3,2 和 aug3,2 为 0。图 8.17 中的其他值以彩色显示,且记为 aij

4、,和 yi,单撇号用以强调这些数值与原方程中的值不懂同而已。EMBED Equation.3 EMBED Equation.3 (a)一般形 (b)示例图 8.17 三角形化后的标准增广矩阵增广矩阵的标准化与三角形化现在我们把注意力集转到三角形化和标准化处理上来,也就是把原方程组转换为标准化的上三角形矩阵形式的新方程组。如果我们仅对增广矩阵 Aug 进行如下操作:Aug 的任一行乘以一个非零的数。将 Aug 任一行的若干倍加到另一行上。将任意两行交换 。若方程组有惟一解,我们就可以用上述 3 种操作把方程组变换为所需要的形式(若方程组没有惟一解,我们的算法也能够识别出来) 。我们从 aug1,

5、1 开始沿对角线依次下移,对增广矩阵的三角化。当我们对某个对角线元素进行处理时,我们称该元素为主元素。当augp,p 为主元素时,我们要完成两个目标:对主元素所在行标准化,使得主元素的值为 1。令主元素以下的各列系数均为 0-即元素augp+1,p,augp+2,p,augn,p 的值为 0。第一个目的可以通过将主元素所在行乘以一个适当的常数(即1/augp,p)实现,这是操作 1 的应用。第二个目的可以对主元素以下的各行操作 2 实现。为了进可能小三角形化过程中计算的舍入误差,建议总是尽量把最大的系数(绝对值)放在主元素的位置。当你处理第 p 个主元素是,应当检查一下自主元素以下的各列元素,

6、找出绝对值最大的系数,并将其所在行与主元素所在行交换。方程组得解不会因此改变,因为行交换是 3 种允许操作之一(操作 3) 。将当前行与包含最大主元素的行交换称为主元素定位。如果最大主元素的值为零怎么办?这种情况只有在主元素以下的所有值均为零时才会出现。如果自主元素以下找不到一个非零值,则已知方程组没有惟一解。上述讨论的各种操作在下面的算法中进行了概括。局部变量 ok 表示方程组是否有惟一解。局部变量int p /*当前行*/int ok /*标识方程组是否有惟一解得标志*/3 高斯函数的算法 先假设方程组有惟一解。P 初始化为首行的下标。当可能有唯一解且 pmax) xmax =fabs (

7、augjp);max_row =-j;/*若找到非零主元素,进行交换 */if (xmax=0) *piv_foundp = FALSE;else *piv_foundp=TRUE;if (max_row !=p) /*行交换*/for (k=p;kN+i;+kxtemp = aug pk;augpk=aug max_row k;aug max_rowk=xtemp;图 8.19 函数 pivot6 回代我们现在来推导增广矩阵 aug 的回代程序。我们需要一个矩阵 x表示未知向量。例题中方程组的标准化,三角化的增广矩阵形式如图 8.17(b)所示,我们将其重新列在下面,右侧是其在数组 aug中

8、对应的存储位置(如 aug03的内容为 4). EMBED Equation.3 . EMBED Equation.3 回代中所有的部分矩阵以彩色标出。对上述对角线应用回代原理,我们看由最后一行看到x2=aug23=1然后,由行 1 可知x1=aug13-(aug12*x2)=1-(-1*1)=2最后,我们由 0 行知x0=aug03-(aug01*x1+aug02*x2)=4-(1*2+1*1)=4-(3)=1由上观察,我们得出下面的回代算法。用于变换后的增广矩阵的回代算法(下标自零开始)令未知数向量的最后一个元素为增广矩阵的最后一个元素。令 i 依次为 i=,N-2,1, 0,计算xi=a

9、ugiN- EMBED Equation.3 这一算法有图 8.20 的函数 back_sub 实现。图 8.21 是对一个线性方程测试函数 gauss 和 back_sub的主函数。程序中声明的增广矩阵初始化图 8.16 的矩阵;试运行显示出解向量 x./* 通过回代计算由增广矩阵 aug 表示的线性方程组得解向量* 设增广矩阵的系数部分已经三角形化,且对角线元素全部为 1*/viodback_sub (double augN-1N;for (i=N-2; i)=0;-i) sum=0;for (j=i+1; jN; +j)sum+=augij *xj;xi = augijN - sum;图

10、 8.20 函数 back_sub/*用高斯消去法和回代法解线性方程组*/#define N 3 /* 系数矩阵的大小;增广矩阵为 N行 N+1 列*/int main (viod) double augNN+1 =1.0,1.0,4.0, /*增广矩阵*/2.0,3.0,1.0,9.0,1.0,-1.0,-1.0,-2.0,xN ; /*解向量*/int sol-exists; /*指示是否有解得标志*/* 调用 gauss 对系数矩阵 aug 标准化,三角化 */gauss(aug,/* 若有解,找到并显示 */if (sol_exists)back_sub(aug,x);printf(“The values of x are : %10.2f%10.2f%10.2fn”,x0,x1,x2;else printf (“NO unique solutionn”);reture (0);The values of x are : 1.00 2.00 1.00 图 8.21 高斯消去程序的主函数*JimiSoft: Unregistered Software ONLY Convert Part Of File! Read Help To Know How To Register.*

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号