线性方程组的解.doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《线性方程组的解.doc》由会员分享,可在线阅读,更多相关《线性方程组的解.doc(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流线性方程组的解.精品文档.第四章 线性方程组的解24-1 高斯(GAUSS)消去法24.1.1 非对称方程组求解24.1.2 对称方程组求解24.1.3 对称方程组按上三角一维存放34.1.4 对称方程组按下三角一维存放34.1.5 列主元消去法44-2 消去法求逆矩阵44-3 稀疏线性方程组的形式与解算64.4 改进的平方根法求逆阵84.4 水准网平差144.4.1 观测数据的组织与输入与转换144.4.2 一维压缩存储法方程平差程序174.4.3 上三角存储法方程平差程序204.4.4 利用Matlab矩阵运算平差程序214.4.5 平差
2、结果的相互转换程序22第四章 线性方程组的解4-1 高斯(GAUSS)消去法高斯消去法在“算法语言”课程中有过详细介绍,本章将抄录一些消去法程序和求逆矩阵程序。4.1.1 非对称方程组求解 设有非对称方程Ax = b,其中A是 mm阶非奇异实矩阵,b是给定的m1向量。为了说明简便,下面以4阶方程组为例介绍消去法的具体做法。(设矩阵A的主元素不等于零):表4-1-1 消去法解非对称线性方程a11 a12 a13 a14a21 a22 a23 a24a31 a32 a33 a34a41 a42 a43 a44b1b2b3b4消去第一列a11 a12 a13 a14 0 a22 a23 a24 0
3、a32 a33 a34 0 a42 a43 a44b1b2b3b4aij = aijai1 a1j / a11bi = bi ai1 b1 / a11i , j = 2,3,4消去第二列a11 a12 a13 a140 a22 a23 a240 0 a33 a340 0 a43 a44b1b2b3b4aij=aijai2a2j / a22bi=biai2 b2 / a22i , j = 3,4根据上表的消去过程,归纳如下:1. 消去第k个未知数是从k+1行开始,使第k列所有元素为零。(k = 1,2, m1)2. 从第k+1列开始,各元素为aij(k) = aij(k1)aik(k1) akj
4、(k1) / akk(k1)bi(k) = bi(k1)aik(k1) bk(k1) / akk(k1)用赋值语句写为 aij = aijaik akj / akk(4-1-1) bi = biaik bk / akk(4-1-2)k = 1,2, m1,i = k+1, m,j = k+1, m4.1.2 对称方程组求解当矩阵A是对称正定时,可以按行逐个消去,也就是按测量平差中高斯约化法进行。其数学模型为(以赋值语句写出): aij = aijaik akj / akk(4-1-3)其中i =1,2, m,j = i,i+1, m通过上述消去法将矩阵A变换成上三角阵(即主对角线以下的元素均为
5、零),常数项(右端项)b也同样进行约化,采用“回代”可求得各未知参数。常数项约化的数学模型 biA(DII + J)例如第2行第3列,即DI = m + 1, I=2, J=3, 即,A(m+12+3) = A(m+2), 与上表相符合。为方便起见,令 II = DII = (I1)*(MI/2)(4-1-6)则二维数组与一维存放的对照公式为A (I, J) = A (II+J),其中II代表第i行。按(4-1-6)式计算,J为第j列。4.1.4 对称方程组按下三角一维存放下三角一维存贮的编号如下表所示1 2 3 m 列 123m行a1 a2 a3 a4 a5 a6 am(m+1) / 2从表
6、中可以看出,主对角元号DI = I * (I+1) / 2, 因此 II DII = (IL) * I / 2(4-1-7)则二维数组与下三角一维存放的对照公式为A (I, J) = A (II+J)。必须指出,下三角存贮与上三角存贮其行列恰好相反,因此在应用(4-1-3)式约化时,应将aki akj) /akk改写为aik ajk) /akk。4.1.5 列主元消去法为了避免主元素等于零而使消去过程失败,也有时由于主元素的有效数字严重损失,而使舍入误差的相对误差增大,舍入误差扩散使得最终答解及不准确。为克服这些困难,选主元消去法是有效的。选主元消去法有:列主元消去法、行主元消去法、全选主元消
7、去法。列主元消去发是从第k列(k = 1,2, , m)的各元素寻出最大元作为主元,其具体做法如下:1. 从第1列开始,寻找本列绝对值最大的元素,记下该元素所在的行数(i0),并把该行(i0)与第1行(k行)的所有元素互换(即把第i0行移至第k行,使主元素是本列中最大元)。2. 按非对称方程组求解方法进行,亦即按(2-1)式进行消去aij = aijaikakj /akk,k = 1,2, ,m1,i , j = k+1, , m4-2 消去法求逆矩阵方程:Ax = b,其中A是mm阶非奇异矩阵。若按(4-1-1)和(4-1-2)式进行消元,则可得出下面等价方程a11 a12 a13 a140
8、 a22 a23 a240 0 a33 a34 0 0 0 a44b1b2b3b4如果每次消元均从第一行开始,则(4-1-1)式可以写为aij = aijaikakj /akk,k = 1,2, ,m1,i = 1,2, m (ik),j = k+1, m这样消元结果为a11 0 0 00 a22 0 00 0 a33 00 0 0 a44b1b2b3b41 0 0 00 1 0 00 0 1 00 0 0 1 x1x2x3x4可见,按照此方法消元可以不回代,就可以求得未知数xi 。如果把右端项b改为I,则所求得未知数就是逆矩阵Q(Q = A-1),或写为AQ = I =IQ = A-1即 A
9、,I 经过初等变换后化为 I, A-1 。下面介绍另一种消去法求逆设方程:b1 = a11 x1 + a12 x2 + + a1m xmb2 = a21 x1 + a22 x2 + + a2m xm (4-2-1)bm = am1 x1 + am2 x2 + + amm xm消去x1式中: 并令: (4-2-2) 为了编写程序方便,将第1行移至最后一行,第1列移到最后一列,其它各元素的行列各上升一行一列。因此,(4-2-2)式可写为 (4-2-3)调换后,将仍存放在原单元,则为 (4-2-4)这样(4-2-4)式与(4-2-1)式形式完全相同,可以用(4-2-3)式相同方法消去,依此经m次消去
10、后得 (4-2-5)可见消去后的系数,就是我们要求的逆矩阵A-1,则,上述过程适用于非对称方程组。4-3 稀疏线性方程组的形式与解算在平差中,当测量控制网较大时,它的误差方程式和法方程式的系数大多是零元素。例如一个边长误差方程式就有个系数,其中只有4个非零元素,其余个都是零元素。其中是未知数的个数),所组成的系数矩阵是稀疏矩阵。在贮存和解算稀疏线性方程组时,应充分利用其稀疏性质,避免零元素的存储和零的运算,以降低存贮量和运算次数。求解此类问题,最常用的方法仍然是高斯消去法。这里重要的问题,就是怎样形成这个稀疏矩阵。图4-3-1 水准网稀疏矩阵中零元素的分布与控制网的图形和点号的排列次序有关。下
11、面先以水准网平差为例来叙述。图4-3-1的水准网,已知和观测值表4-3-1。 表4-3-1:水准网观测值表线号高差距离A 11 22 33 B244 55 B+1.036m-0.845-0.133+0.917+1.121-0.164-0.1693.5km1.02.03.31.22.02.5误差方程式为v1 = x1 l1 权 0.4v2= x1 + x2 l2 1.0v3= x 2+ x3 l3 0.5v4= x3 l4 0.3v5= x2 + x4 l5 0.8v6= x4 + x5 l6 0.5v7= x5 l7 0.4组成法方程系数矩阵(表4-3-2),从表中可以看出,在同样的图形中,由
12、于编号的不同,其法方程矩阵的稀疏结构也不同。显然,图4-3-1的编号是由左向右方向推进,所得的稀疏矩阵的非零元素集中在主对角线附近。当水准网较大时,这个性质更为明显。 表4-3-2 法方程系数矩阵x1x2x3x4x51.41.01.02.30.51.80.50.81.81.30.50.50.9图4-3-2 水准网(重新编号)如果按图4-3-2编号,则法方程矩阵如表4-3-2。 表4-3-2 法方程系数矩阵x1x2x3x4x52.30.51.81.00.520.80.90.51.80.51.31.01.4大型稀疏矩阵一般是采用压缩形式进行存贮的,存贮方式视零元素的分布情况来定,一般是采用变带宽存
13、贮法。顾及法方程的对称性,可只存贮下三角部分(或上三角部分)。所谓带宽,就是某行的第一个非零元至该行的对角元共有元素的个数,如表2-2的法方程矩阵的带宽为k为:1 = 1,2 = 2,3 =2,4 =3,5 = 2变带宽存贮是根据每行不同的元素个数,按一维数组存放。本例存放顺序是1 = 1.4,2 = 1.0,3 = 2.3,4 = 0.5,5 = 0.8,6 = 1.8,7 = 0,8 = 1.3,9 = 0.5,10 = 0.9为了直观我们仍按二维排列于表4-3-4。12345678910 表4-3-4 一维数组存放 表4-3-5 带宽以及累计数行号带宽累计1112233254385210
14、从表4-3-5中可知,带宽的累计数恰好是表4-3-4中对角元的下标号。为此,我们用一个数组ID(i)贮存这些累计数,如ID(1) = 1, ID(2) = 3, ID(3) = 5, ID(4) = 8, ID(5) = 10等(ID(i) = )。在这个基础上,要索取某行某列的元素是方便的。如果要从表4-3-4中取出第i行第j列元素,它就是在一维数组A中的第(ID(i)i+j)个元素,亦即A(ID(I) I+J),例如,i = 4,j = 2, 即A(84+2)= A(6)与表4-3-4吻合。 可见,变带宽一维数组存贮的关键问题,在于如何形成对角元号的数组ID(i)。为要求出各对角元号,首先
15、要确定各行的带宽。对照图2-1与表2-2,不难看出,矩阵第i行带宽与i点相连接的各点中最小点号有关,例如第4点的相邻接点是2,5两点,最小点号是2,因此,带宽4 = 42+1(即i =i最小点号+1),也就是第4行的第一个非零元是在第2列上,所以带宽是第2、3、4三个元素。4.4 改进的平方根法求逆阵由于法方程是对称正定阵,因此可以采用改进的平方根法进行解算。平方根法是对称正定矩阵非常有效的三角分解法,由定理 设A为n阶方阵,如果其所有顺序主子式均不为零,则其存在唯一的分解式:其中,由于此处A有对称性,得,又根据A阵正定的性质,可证明D均为正数。现在设:,即 则 ,为方便记为,称为Choles
16、ky分解,即正定对称矩阵的平方根分解法。解等价于求解两个三角方程组 和。在用平方根分解法进行计算时,需要进行n次开方运算。为避免开方,可以直接采用对称正定的分解式对平方根法进行改进。从而解方程组可以按如下步骤进行:把分解成,则变成,即等价于 ,由此可解出Y和X。这称为改进的平方根法,在计算中避免了开方运算。平方根法和改进的平方根法的计算量和存贮量比消去法节约近一半,而且不需要选主元,能得到比较精确的数值解。法方程用改进平方根法解算的过程如下: 分解:其中,纯量计算公式为: 求逆: ,由,得到纯量计算公式: 通式为: 求积: 其纯量计算公式:计算R阵需要除以S的对角元,计算Q阵要乘S的对角元,做
17、计算上的改进。令 ,则: 分解: 求逆: 乘积: 所以function c=invsqr(c,n)ss=0.0;for i=1:n di=(i-1)*(n-i/2.0); for j=i:n ss=c(di+j); for k=1:i-1 dk=(k-1)*(n-k/2.0); ss=ss-c(dk+i)*c(dk+j)/c(dk+k); end if(j=i) c(di+j)=1/ss; else c(di+j)=ss*c(di+i); end endendfor i=1:n-1di=(i-1)*(n-i/2.0);for j=i+1:nss=-c(di+j);for k=i+1:j-1dk
18、=(k-1)*(n-k/2.0);ss=ss-c(di+k)*c(dk+j);endc(di+j)=ss;endendfor i=1:n-1di=(i-1)*(n-i/2.0);for j=i:ndj=(j-1)*(n-j/2.0);if(j=i)ss=c(di+j);elsess=c(di+j)*c(dj+j);endfor k=j+1:ndk=(k-1)*(n-k/2.0);ss=ss+c(di+k)*c(dj+k)*c(dk+k); endc(di+j)=ss; endendreturn4.4 水准网平差程序设计4.4.1 观测数据的组织与输入与转换1 水准网数据变量的约定表4-4-1:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 线性方程组
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内