用高斯消元法求解线性代数方程组.(优选)
- 格式:doc
- 大小:165.00 KB
- 文档页数:7
课程设计任务书前 言回顾普通解方程组的方法,一般都是先逐个削去未知变量,最终得到只有一个未知变量的方程,解之,把得到的值回代到消去变量过程中得到的方程组,逐个求出未知变量。
这种解线性方程组的基本方法就是这里要介绍的高斯消去法。
数学上,高斯消元法(或译:高斯消去法),是线性代数中的一个算法,可用来为线性方程组求解,求出矩阵的秩,以及求出可逆方阵的逆矩阵。
当用于一个矩阵时,高斯消元法会产生出一个“行梯阵式”。
高斯消元法可以用在电脑中来解决数千条等式及未知数。
高斯消元法可以用来找出一个可逆矩阵的逆矩阵。
用关联矩阵表述网络拓扑结构,并根据厂站拓扑结构和网络拓扑结构等概念简化了电力系统的拓扑结构。
根据广义乘法和广义加法的运算规则,将改进的高斯消元算法应用于电力系统拓扑结构分析中,并引入稀疏、分块处理等技术提高了上述拓扑分析的效率。
采用上述高斯消元算法对山东电网220kV 以上的变电站进行拓扑结构分析,结果表明了运用该高斯消元法进行网络拓扑分析的正确性和有效性。
用列主元素法,选取每列的绝对值最大的元素作为消去对象并作为主元素。
然后换行使之变到主元位子上,在进行消元计算。
设)()(k k b X A ,确定第k 列主元所在位置k i ,在交换k i 行和k 行后,在进行消元,并用MATLAB 软件进行求解。
目录摘要....................................................................................... 错误!未定义书签。
第1章绪论 ......................................................................... 错误!未定义书签。
第2章高斯消元法的算法描述 (2)2.1高斯消元法的原理概述 (2)c231730658" 2.1.1高斯消元法的消元过程 (2)c231730658" 2.1.2高斯消元法的回带过程 (3)c231730658" 2.1.3高斯消元法的复杂度分析 (4)c231730658" 2.2列主高斯消元法原理简介 (5)c231730658" 2.2.1列主高斯消元法的消元过程 (6)c231730658" 2.2.2列主高斯消元法的回带过程 (6)c231730658" 2.2.3列主高斯消元法的算法描述 (6)c231730662"第3章高斯消元法的物理应用 (9)3.1c231730663"电网模型的描述 (9)c231730658" 3.2电网模型的问题分析 (9)c231730658"3.3求解计算 (11)c231730693"参考文献 (13)摘 要用列主元素高斯消去法法,选取每列的绝对值最大的元素作为消去对象并作为主元素。
线性方程组的解法线性方程组是数学中常见的问题,它可以用于描述多个未知数之间的关系。
解决线性方程组的问题是求解未知数的具体取值,从而得到方程组的解。
本文将介绍几种常见的解线性方程组的方法。
一、高斯消元法高斯消元法是解决线性方程组的经典方法之一。
它通过矩阵变换的方式,将线性方程组转化为一个三角矩阵,从而简化求解过程。
以下是高斯消元法的步骤:1. 将线性方程组写成增广矩阵的形式,其中最后一列为常数项。
2. 选取一个非零元素作为主元,在当前列中将主元素所在的行作为第一行,然后通过初等行变换将其他行的主元素变为0。
3. 重复第2步,直到所有的主元素都变成1,并且每个主元素所在的列的其他元素都变为0。
4. 反向代入,从最后一行开始,依次回代求解未知数的值。
二、矩阵的逆矩阵法矩阵的逆矩阵法是利用矩阵的逆矩阵来求解线性方程组。
以下是逆矩阵法的步骤:1. 对于线性方程组Ax=b,如果矩阵A可逆,将方程组两边同时左乘A的逆矩阵AI,得到x=A^(-1)b。
2. 通过求解矩阵A的逆矩阵来得到未知数向量x的值。
3. 如果矩阵A不可逆,那么线性方程组没有唯一解,可能有无穷多解或者无解。
三、克拉默法则克拉默法则是另一种解决线性方程组的方法,它利用行列式的性质来求解未知数的值。
以下是克拉默法则的步骤:1. 对于线性方程组Ax=b,令|A|=D,其中D表示矩阵A的行列式。
2. 分别计算将矩阵A的第i列替换为常数列b所得到的行列式|A_i|。
3. 未知数向量x的第i个分量可以通过x_i = |A_i|/D来得到。
克拉默法则的优点是简单直观,但是当方程组的规模很大时,计算行列式将变得非常复杂。
四、矩阵的广义逆法矩阵的广义逆法是一种应对方程组无解或者有无穷多解的情况的方法。
对于线性方程组Ax=b,如果矩阵A不可逆,我们可以通过求解广义逆矩阵A^+来得到一个特解x_0。
1. 分别计算A^+ = (A^T·A)^(-1)·A^T和x_0 = A^+·b。
高斯消元法解线性方程组线性方程组是数学中常见的问题,其中包含多个线性方程,求解线性方程组即为找到满足所有方程的解。
高斯消元法是一种常用的方法,可以有效地解决线性方程组。
本文将介绍高斯消元法的原理和步骤,并通过一个具体的例子来演示其应用。
一、高斯消元法原理高斯消元法是通过一系列的行变换来将线性方程组转化为上三角形式,进而求解方程组。
具体步骤如下:1. 将线性方程组写成增广矩阵形式,其中每一行表示一个方程,最后一列为常数项。
2. 选择一个主元,通常选择第一列的第一个非零元素作为主元。
3. 将主元所在行的所有元素除以主元,使主元变为1。
4. 将主元所在列的其他行元素通过适当的倍数加到相应行,使得主元所在列的其他元素都变为0。
5. 重复步骤2-4,直到将矩阵转化为上三角形式。
6. 从最后一行开始,通过回代法求解每个未知数的值。
二、高斯消元法步骤示例为了更好地理解高斯消元法的步骤,下面以一个具体的线性方程组为例进行演示。
假设有如下线性方程组:2x + y - z = 1-3x - y + 2z = -2-2x + y + 2z = 3首先,将线性方程组写成增广矩阵形式:[ 2 1 -1 | 1 ][-3 -1 2 | -2 ][-2 1 2 | 3 ]选择第一列的第一个非零元素2作为主元,将主元所在行的所有元素除以主元,使主元变为1,得到:[ 1 0 -0.5 | 0.5 ][-3 -1 2 | -2 ][-2 1 2 | 3 ]然后,将主元所在列的其他行元素通过适当的倍数加到相应行,使得主元所在列的其他元素都变为0,得到:[ 1 0 -0.5 | 0.5 ][ 0 -1 1.5 | -0.5 ][ 0 1 3 | 4 ]接下来,选择第二列的第二个非零元素-1作为主元,将主元所在行的所有元素除以主元,使主元变为1,得到:[ 1 0 -0.5 | 0.5 ][ 0 1 -1.5 | 0.5 ][ 0 1 3 | 4 ]再次进行行变换,将主元所在列的其他行元素通过适当的倍数加到相应行,使得主元所在列的其他元素都变为0,得到:[ 1 0 -0.5 | 0.5 ][ 0 1 -1.5 | 0.5 ][ 0 0 4.5 | 3 ]将矩阵转化为上三角形式后,从最后一行开始,通过回代法求解每个未知数的值。
1.用高斯消元法解下列线性方程组:(1)123123123123233,350,43,3136;x x x x x x x x x x x x -+=⎧⎪+-=⎪⎨-+=⎪⎪+-=-⎩ (2)12341234123412342353,34232,288,7980;x x x x x x x x x x x x x x x x +++=⎧⎪+++=-⎪⎨++-=⎪⎪+++=⎩(3)1234123412343,31,123;2x x x x x x x x x x x x ⎧⎪--+=⎪-+-=⎨⎪⎪--+=-⎩ (4)12341234123424270,36430,5104250.x x x x x x x x x x x x -++=⎧⎪-++=⎨⎪-++=⎩解(1)21122133128331502133(,)411341131313613136r r r r A b -↔---⎛⎫⎛⎫⎪ ⎪--⎪ ⎪=−−−→ ⎪ ⎪-- ⎪ ⎪----⎝⎭⎝⎭ 212431412412831283051990153093315051990153093315r r r r r r r r -↔------⎛⎫⎛⎫⎪ ⎪--- ⎪ ⎪−−−→−−−→⎪ ⎪-- ⎪ ⎪---⎝⎭⎝⎭ 32434235219()61283128301530153006600110012120000r r r r r r r +-+⨯-----⎛⎫⎛⎫⎪ ⎪---- ⎪ ⎪−−−→−−−→ ⎪ ⎪-- ⎪ ⎪--⎝⎭⎝⎭ 2312521001010200110000r r r r +-⎛⎫⎪⎪−−−→ ⎪ ⎪⎝⎭因此方程组的解为123121x x x =⎧⎪=⎨⎪=⎩(2)1342223513113253423234232(,)12818128187918011324r r r r A b ----⎛⎫⎛⎫⎪ ⎪--⎪ ⎪=−−−→ ⎪ ⎪-- ⎪ ⎪-⎝⎭⎝⎭ 322131344131132511325011131301113130111313000090000900000r r r r r r r r r r ---↔-----⎛⎫⎛⎫ ⎪ ⎪-- ⎪ ⎪−−−→−−−→ ⎪ ⎪- ⎪ ⎪⎝⎭⎝⎭因为()2,(,)3r r ==A A b ,所以方程组无解.(3)21311111011110(,)1113100241111123001222r r r r A b --⎛⎫⎛⎫ ⎪ ⎪---- ⎪ ⎪=--−−−→- ⎪ ⎪ ⎪ ⎪----- ⎪ ⎪⎝⎭⎝⎭212321211101111102110012001222000000000r r r r r ⨯++⎛⎫-- ⎪--⎛⎫⎪ ⎪ ⎪ ⎪−−−→-−−−→- ⎪ ⎪⎪ ⎪⎝⎭ ⎪ ⎪⎝⎭对应的同解方程组为1243412122⎧=++⎪⎪⎨⎪=+⎪⎩x x x x x ,令2142,==x k x k则方程组的解为11221324212122x k k x k x k x k ⎧⎪⎪=++⎪⎪=⎨⎪⎪=+⎪⎪=⎩ (12(,)k k ∈R .(4)1224271224(,)36433643510425510425r r ----⎛⎫⎛⎫ ⎪ ⎪=-−−−→- ⎪ ⎪ ⎪ ⎪--⎝⎭⎝⎭A b 211313223(1)531()21224122415002150012006450000+⨯-+-⨯---⎛⎫--⎛⎫ ⎪⎪ ⎪−−−→-−−−→- ⎪⎪ ⎪- ⎪⎝⎭⎝⎭r r r r r r r r 120111500120000-⎛⎫⎪ ⎪→- ⎪ ⎪⎝⎭对应的同解方程组为12434211152=-⎧⎪⎨=⎪⎩x x x x x 令2142,==x k x k ,则方程组的解为112213242211152x k k x kx k x k =-⎧⎪=⎪⎪⎨=⎪⎪=⎪⎩ 12(,)k k ∈R . 2.讨论p 取何值时,下述非齐次线性方程组无解,有唯一解,有无穷多解?在有解时求解.12321231234,,2 4.x x px x px x p x x x ++=⎧⎪-++=⎨⎪-+=-⎩ 分析 本题为含有参数p 的非齐次线性方程组的求解,由于其系数矩阵为方阵,故可用行列式分析.解 111111011112022p pp p p p=-=++---A 11(1)(1)(4)22=+=+---p p p p可见:(1)当0A ≠,即4≠p 且1≠-p 时,方程组有唯一解,利用克莱姆法则求得212232124121p p x p p p x p p x p ⎧+=⎪+⎪⎪++⎪=⎨+⎪⎪-=⎪+⎪⎩(2)当4=p 时,0A =,此时213111441144(,)141160552011240228r r r r +-⎛⎫⎛⎫⎪ ⎪=-−−−→ ⎪ ⎪ ⎪ ⎪-----⎝⎭⎝⎭A b 232152114410300114011400000000⨯+⎛⎫⎛⎫⎪ ⎪−−−→→ ⎪ ⎪ ⎪ ⎪⎝⎭⎝⎭r r r对应的同解方程组为132334x x x x =-⎧⎨=-+⎩,令3=x k则方程组的解为12334x k x k x k =-⎧⎪=-⎨⎪=⎩ ()k ∈R .(3)当1=-p 时,0A =,此时213111141114(,)1111000511240238r r r r +---⎛⎫⎛⎫ ⎪ ⎪=--−−−→ ⎪ ⎪ ⎪ ⎪----⎝⎭⎝⎭A b23111402380005r r ↔-⎛⎫ ⎪−−−→-- ⎪ ⎪⎝⎭,因为()2,(,)3==r A r A b ,所以方程组无解.3.当,a b 取何值时,下述非齐次线性方程组无解,有唯一解,有无穷多解?在有解时求出它的全部解. 123423423412340,221,(3)2,32 1.x x x x x x x x a x x b x x x ax +++=⎧⎪++=⎪⎨-+--=⎪⎪+++=-⎩解 1111001221(,)01323211a b a ⎛⎫ ⎪⎪= ⎪--- ⎪-⎝⎭A b 3241311110012************+-⎛⎫ ⎪ ⎪−−−→ ⎪-+ ⎪----⎝⎭r r r r a b a 4211110012************+⎛⎫ ⎪⎪−−−→ ⎪-+ ⎪-⎝⎭r r a b a 由此可见:(1)当1,1=≠-a b 时,()2,(,)3r r ==A A b ,方程组无解.(2)当1,1==-a b 时,()(,)2r r ==A A b ,方程组有无穷多解. 此时(,)A b 可化简为10111012210000000000---⎛⎫⎪⎪⎪⎪⎝⎭ 令3142,==x k x k方程组的解为11221231421221x k k x k k x k x k =+-⎧⎪=--+⎪⎨=⎪⎪=⎩ 12(,)k k ∈R .(3)当1,≠∈a b R 时,方程组有唯一解为123421231110b a x a a b x a b x a x -+⎧=⎪-⎪--⎪=⎪-⎨⎪+=⎪-⎪⎪=⎩4.设121232343454515-=⎧⎪-=⎪⎪-=⎨⎪-=⎪-=⎪⎩x x a x x a x x a x x ax x a ,证明方程组有解的充分必要条件是510==∑i i a ,并在有解的情况下,求出它的全部解.分析 线性方程组解的存在性主要依据线性方程组解的定义及有解判别定理来证明.证明 123451100001100(,)001100001110001a a a a a -⎛⎫ ⎪- ⎪⎪=- ⎪-⎪ ⎪-⎝⎭A b 543211234511100001100001100001100000++++=-⎛⎫ ⎪- ⎪ ⎪-−−−−−→ ⎪- ⎪⎪⎪⎝⎭∑r r r r r i i a a a a a当()(,)r r =A A b 时,方程组有无穷多解,故要满足510==∑ii a.当有解时,继续对(,)A b 作初等行变换,得123423434410001010010010100011000000-+++⎛⎫ ⎪-++ ⎪⎪-+ ⎪- ⎪ ⎪⎝⎭a a a a a a a a a a 令5=x k 由此得出方程组的解为112342234334445x a a a a k x a a a k x a a k x a kx k=++++⎧⎪=+++⎪⎪=++⎨⎪=+⎪=⎪⎩ ()k ∈R5.已知向量(3,5,7,9)α=,(1,5,2,0)β=-(1)如果αξβ+=,求ξ;(2)如果325αξβ-=,求ξ.解 (1)由αξβ+=,可得(1,5,2,0)(3,5,7,9)(4,0,5,9)ξβα=-=--=--- (2)由325αξβ-=,可得111127(35)(14,10,11,27)(7,5,,)2222ξαβ=-=-=-6.设1233()2()5()αααααα-++=+,求α.其中T T T 123(2,5,1,3),(10,1,5,10),(4,1,1,1)ααα===- 解 由已知可得 123332255αααααα-++=+T 1231(325)(1,2,3,4)6αααα=+-= 7.把向量β表示成向量1234,,,αααα的线性组合.(1)1234(1,1,1,1),(1,1,1,1),(1,1,1,1),(1,1,1,1),(1,2,1,1)ααααβ==--=--=--=(2)1234(1,1,0,0),(2,1,3,1),(1,1,0,0),(0,1,1,1),(0,0,0,1)ααααβ====--=解 (1)T T T T T12341111111112(,,,,)1111111111ααααβ⎛⎫⎪--⎪= ⎪--⎪--⎝⎭ 4321313411()21111111111002210022102020010100220000220r r r r r r r r r ---⨯--⎛⎫⎛⎫ ⎪ ⎪---- ⎪ ⎪−−−→−−−→ ⎪ ⎪-- ⎪ ⎪---⎝⎭⎝⎭234224234123441()2145100011111411001101002401010100104100011400014r r r r r r r r r r r r r r ↔--⨯-----⨯⎛⎫ ⎪⎛⎫⎪ ⎪⎪⎪- ⎪ ⎪−−−→−−−−→ ⎪ ⎪ ⎪-⎪ ⎪⎪- ⎪ ⎪⎝⎭ -⎪⎝⎭ 由此可知123451114444βαααα=+--(2)T T T T T 12341210011110(,,,,)0301011011ααααβ⎛⎫ ⎪⎪= ⎪- ⎪-⎝⎭3221414223(1)1210012100010100101003010000200111100121r r r r r r r r r +---⨯-⎛⎫⎛⎫ ⎪ ⎪-- ⎪ ⎪−−−→−−−→ ⎪ ⎪- ⎪ ⎪-----⎝⎭⎝⎭343241232(1)210001010000010100010r r r r r r r r +⨯-+--⎛⎫ ⎪ ⎪−−−−→ ⎪- ⎪⎝⎭由此可知13βαα=-8.判断下列向量组的线性相关性. (1)123(1,1,1),(0,2,5),(1,3,6)ααα===(2)T T T 123(1,1,2,4),(0,3,1,2),(3,0,7,14)βββ=-==(3)T T T 123(1,1,3,1),(4,1,3,2),(1,0,1,2)γγγ==-=-解 (1)因为123,,ααα构成的矩阵为方阵,故可用行列式求解.因为1011001231220156155==,所以向量组123,,ααα线性相关.(2)123(,,)βββ=213141241031031300332170114214022r r r r r r +--⎛⎫⎛⎫ ⎪ ⎪- ⎪ ⎪−−−→ ⎪ ⎪ ⎪ ⎪⎝⎭⎝⎭23242132103011000000r r r r r ⨯--⎛⎫ ⎪ ⎪−−−→ ⎪ ⎪⎝⎭,因为123(,,)23r βββ=<,所以向量组123,,βββ线性相关. (3)3242213123141141110031(,,)3310154122012r r r r r r γγγ---⎛⎫⎛⎫ ⎪ ⎪-- ⎪ ⎪=−−−→ ⎪ ⎪---- ⎪ ⎪⎝⎭⎝⎭24433253141012001000r r r r r r ↔-+⎛⎫ ⎪ ⎪−−−→ ⎪ ⎪⎝⎭,因为123(,,)3r γγγ=,所以向量组123,,γγγ线性无关. 9.设112223334441,,,βααβααβααβαα=+=+=+=+,证明向量组1234,,,ββββ线性相关.分析 可按向量组的线性相关的定义,把证明向量组线性相关转化为证明齐次线性方程组有非零解,或直接寻找1234,,,ββββ之间的线性关系式,若系数不全为0,则向量组线性相关。
用高斯消元法解线性方程组高斯消元法是一种常用的解线性方程组的方法。
它通过一系列的行变换将线性方程组转化为一个简化的行阶梯形式,从而可以方便地求解方程组。
基本步骤使用高斯消元法解线性方程组的基本步骤如下:1. 构造增广矩阵:将线性方程组的系数矩阵和常数向量按照方程的顺序组合成一个增广矩阵。
2. 初等行变换:通过初等行变换操作,将增广矩阵转化为行阶梯形或行最简形。
3. 回代求解:从最后一行开始,反向代入得到方程组的解。
详细步骤以下是用高斯消元法解线性方程组的详细步骤:1. 将线性方程组的系数矩阵和常数向量按照方程的顺序组合成一个增广矩阵,如下所示:[a11 a12 ... a1n | b1][a21 a22 ... a2n | b2][... ... ... ... | ...][an1 an2 ... ann | bn]2. 选择第一个非零元素所在的列,记为第 k 列。
3. 通过初等行变换操作,将第 k 列除了第 k 行之外的所有元素变为零。
首先,将第 k 行的第 k 个元素系数标准化为 1,即将第 k 行的所有元素除以第 k 个元素的值。
然后,对第 i 行(i ≠ k)进行以下操作:将第 i 行的第 k 个元素的系数变为零,即将第 i 行减去第 k 行的 k 个元素乘以第 i 行的第 k 个元素的系数。
4. 重复步骤 2 和步骤 3,直至所有列都处理完毕。
5. 如果最后一行的所有元素都为零,则该线性方程组无解。
6. 如果最后一行的最后一个非零元素所在的列号为 m,则 m+1 到 n 列的所有元素均为自由变量。
7. 从最后一行开始,反向代入求解自由变量。
示例假设有以下线性方程组:2x + 3y - z = 13x + 2y + z = 2x + 3y + 2z = 3将该方程组转化为增广矩阵的形式:[2 3 -1 | 1][3 2 1 | 2][1 3 2 | 3]通过高斯消元法的步骤,可以得到以下的行阶梯形式:[1 3/2 1/2 | 3/2][0 7/2 -3/2 | -3/2][0 0 17/7 | 17/14]根据行阶梯形式,可以得到方程组的解为:x = 1/2y = -1/2z = 2/7总结高斯消元法是一种简单而有效的方法,用于解线性方程组。
C++ 数学与算法系列之高斯消元法求解线性方程组1. 前言什么是消元法?消元法是指将多个方程式组成的方程组中的若干个变量通过有限次地变换,消去方程式中的变量,通过简化方程式,从而获取结果的一种解题方法。
消元法主要有代入消元法、加减消元法、整体消元法、换元消元法、构造消元法、因式分解消元法、常数消元法、利用比例性质消元法等。
对方程式消元时,是基于如下的初等行变换规则:•改变方程组中方程式的顺序,或者说无论先求解方程组中哪一个方程式,不影响方程组的解。
•对一个方程式中的所有系数乘以或除以某一个非零数,不影响方程组的解。
•方程式之间可以倍乘后相加或相减,不影响解。
其中最常用的为代入消元法和加减消元法,简要介绍一下。
代入消元法如求解2x+3y=10和x+y=4; 2个方程式中的x ,y变量时。
可以把第2个方程式变换成x=4-y。
然后代入到第1个方程中,2(4-y)+3y=10。
可求解出y=2,x=2。
加减消元法还是求解如上的方程组。
可以把第2个方程式乘以2后再去减第1个方程式,或者说让第1个方程式减去第2个方程式乘以2。
2x+3y-2x-2y=10-8。
可以求解y=2。
本文主要和大家聊聊高斯消元法,高斯(Gauss)消元法也称为简单消元法,是求解一般线性方程组的经典算法。
2. 高斯消元法在理解高斯消元化之前,先理解几个基本概念:什么是增广矩阵?增广矩阵是线性代数中的概念,如下线性方程组:使用每个方程式的系数构建的矩阵,称为系数矩阵,表示为:用方程式的系数和结果构建的矩阵称为方程组的增广矩阵。
如下图所示:当方程组中的每一个方程的结果都为0时, 即b1=b2=b3=b4……bm=0,称这样的方程组为齐次线性方程组。
2.1 高斯消元法的思想高斯消元的基本思想:•对于一个有n个变量、有n个方程式的方程组。
•把方程组中除了第1个方程式外的其它方程式中的x1消去,同理,再把除了第2个方程式以下的方程组中其它方程式中的x2消去,依次类推,直到最后1个方程式中只留下xn。
高斯消元法在解线性方程组中的应用高斯消元法是一种非常实用的算法,能够对线性方程组进行求解。
因此,它在数学、物理、化学、工程学等领域都得到了广泛
的应用。
高斯消元法是将线性方程组的系数矩阵转化为所要求的矩阵,
使用一些简单的变换来达到简化方程组的目的。
具体来说,首先
可以通过交换两个方程或多个方程来使系数矩阵的主对角线上的
元素变为非零元。
然后,通过将系数矩阵的某一行乘以一个非零
常数或将某一行加上或减去另一行来使主对角线以下的元素为0。
最终,得到一个上三角矩阵,可以通过回代求解得到方程组的解。
高斯消元法的优缺点:
优点:高斯消元法计算简单,求解速度较快,可在一定范围内
获得较高的精度。
缺点:高斯消元法在某些情况下可能会产生有限或无限多的解,这可能是由于线性方程组中的约束条件不充分或矛盾导致的。
此外,随着线性方程组大小的增加,高斯消元法求解的复杂性会显
著增加。
在大型的稀疏线性方程组中,高斯消元法往往不是最好的选择。
高斯消元法的应用场景:
高斯消元法可以用于求解各种问题,如求解矩阵方程、求解线性方程组变型、线性回归、最小二乘法等。
这些问题的求解都可以转化为求解线性方程组的问题,因此高斯消元法是解决这些问题的关键算法。
总之,高斯消元法是一种重要的数学工具,在各个领域都能够得到广泛的应用。
无论是通过纸笔计算还是计算机程序实现,高斯消元法都应该是每个使用线性代数的科学家和工程师的基本工具之一。
一、填空(共20分,每题2分)1、设,取5位有效数字,则所得的近似值x=_____.2、设一阶差商,则二阶差商3、数值微分中,已知等距节点的函数值则由三点的求导公式,有4、求方程的近似根,用迭代公式,取初始值,那么5、解初始值问题近似解的梯形公式是6、,则A的谱半径=,A的=7、设,则=和=8、若线性代数方程组AX=b 的系数矩阵A为严格对角占优阵,则雅可比迭代和高斯-塞德尔迭代都_____9、解常微分方程初值问题的欧拉(Euler)方法的局部截断误差为_____10、设,当时,必有分解式,其中L为下三角阵,当其对角线元素足条件时,这种分解是唯一的。
二、计算题(共60 分,每题15分)1、设(1)试求在上的三次Hermite插值多项式H(x)使满足 H(x)以升幂形式给出。
(2)写出余项的表达式2、已知的满足,试问如何利用构造一个收敛的简单迭代函数,使0,1…收敛?3、试确定常数A,B,C和,使得数值积分公式有尽可能高的代数精度。
试问所得的数值积分公式代数精度是多少?它是否为Gauss型的?4、推导常微分方程的初值问题的数值解公式:三、证明题1、设(1)写出解的Newton迭代格式(2)证明此迭代格式是线性收敛的2、设R=I-CA,如果,证明:(1)A、C都是非奇异的矩阵(2)参考答案:一、填空题1、2、3、4、5、6、7、8、收敛9、O(h)10、二、计算题1、1、(1)(2)2、由,可得因故故,k=0,1,…收敛。
3、,该数值求积公式具有5次代数精确度,它是Gauss型的4、数值积分方法构造该数值解公式:对方程在区间上积分,得,记步长为h,对积分用Simpson求积公式得所以得数值解公式:三、证明题1、证明:(1)因,故,由Newton迭代公式:n=0,1,…得,n=0,1,…(2)因迭代函数,而,又,则故此迭代格式是线性收敛的。
2、证明:(1)因,所以I–R非奇异,因I–R=CA,所以C,A都是非奇异矩阵 (2) 故则有()因CA=I–R,所以C=(I–R)A-1,即A-1=(I–R)-1C又RA-1=A-1–C,故由(这里用到了教材98页引理的结论)移项得结合()、两式,得模拟试题一、填空题(每空2分,共20分)1、解非线性方程f(x)=0的牛顿迭代法具有_______收敛2、迭代过程(k=1,2,…)收敛的充要条件是___3、已知数 e=...,取近似值 x=,那麽x具有的有效数字是___4、高斯--塞尔德迭代法解线性方程组的迭代格式中求______________5、通过四个互异节点的插值多项式p(x),只要满足_______,则p(x)是不超过二次的多项式6、对于n+1个节点的插值求积公式至少具有___次代数精度.7、插值型求积公式的求积系数之和___8、 ,为使A可分解为A=LL T, 其中L为对角线元素为正的下三角形,a的取值范围_9、若则矩阵A的谱半径(A)=___10、解常微分方程初值问题的梯形格式是___阶方法二、计算题(每小题15分,共60分)1、用列主元消去法解线性方程组2、已知y=f(x)的数据如下求二次插值多项式及f()3、用牛顿法导出计算的公式,并计算,要求迭代误差不超过。
高斯消元法求解线性方程组线性方程组是数学中重要的概念,它描述了一组线性方程的集合。
解决线性方程组的问题在科学和工程领域中具有广泛的应用。
高斯消元法是一种常用的方法,用于求解线性方程组。
本文将介绍高斯消元法的原理和步骤,并通过实例演示其应用。
一、高斯消元法的原理高斯消元法是一种基于矩阵变换的方法,用于将线性方程组转化为简化的行阶梯形式。
其基本思想是通过一系列的行变换,将方程组中的系数矩阵化为上三角矩阵,从而简化求解过程。
具体而言,高斯消元法的步骤如下:1. 将线性方程组的系数矩阵和常数向量写成增广矩阵的形式。
2. 选取一个主元素,通常选择第一列的第一个非零元素作为主元素。
3. 通过行变换,将主元素下方的所有元素化为零。
4. 选取下一个主元素,并重复步骤3,直到将矩阵化为上三角形式。
5. 通过回代法,求解得到线性方程组的解。
二、高斯消元法的步骤为了更好地理解高斯消元法的步骤,我们以一个具体的线性方程组为例进行演示。
假设我们有以下线性方程组:```2x + 3y - z = 14x - y + z = -2x + 2y + 3z = 3```首先,我们将其写成增广矩阵的形式:```[2, 3, -1 | 1][4, -1, 1 | -2][1, 2, 3 | 3]```接下来,我们选取第一列的第一个非零元素2作为主元素,并通过行变换将主元素下方的元素化为零。
具体步骤如下:1. 将第二行乘以2,然后与第一行相减,得到新的第二行:`[0, -7, 3 | -4]`2. 将第三行乘以0.5,然后与第一行相减,得到新的第三行:`[0, 0.5, 2.5 | 1.5]`此时,得到的矩阵为:```[2, 3, -1 | 1][0, -7, 3 | -4][0, 0.5, 2.5 | 1.5]```接下来,我们选取第二列的第二个非零元素-7作为主元素,并通过行变换将主元素下方的元素化为零。
具体步骤如下:1. 将第三行乘以14,然后与第二行相加,得到新的第三行:`[0, 0, 35 | 7]`此时,得到的矩阵为:```[2, 3, -1 | 1][0, -7, 3 | -4][0, 0, 35 | 7]```最后,我们通过回代法求解得到线性方程组的解。
习题一1.设x >0相对误差为2%,4x 的相对误差。
解:由自变量的误差对函数值引起误差的公式:(())(())'()()()()f x xf x f x x f x f x δδ∆=≈得(1)()f x =11()()*2%1%22x x δδδ≈===;(2)4()f x x =时444()()'()4()4*2%8%x x x x x xδδδ≈===2.设下面各数都是经过四舍五入得到的近似数,即误差不超过最后一位的半个单位,试指出他们各有几位有效数字。
(1)12.1x =;(2)12.10x =;(3)12.100x =。
解:由教材9P 关于1212.m nx a a a bb b =±型数的有效数字的结论,易得上面三个数的有效数字位数分别为:3,4,53.用十进制四位浮点数计算 (1)31.97+2.456+0.1352; (2)31.97+(2.456+0.1352)哪个较精确?解:(1)31.97+2.456+0.1352 ≈21((0.3197100.245610)0.1352)fl fl ⨯+⨯+ =2(0.3443100.1352)fl ⨯+=0.3457210⨯(2)31.97+(2.456+0.1352)21(0.319710(0.245610))fl fl ≈⨯+⨯ = 21(0.3197100.259110)fl ⨯+⨯ =0.3456210⨯易见31.97+2.456+0.1352=0.210⨯,故(2)的计算结果较精确。
4.计算正方形面积时,若要求面积的允许相对误差为1%,测量边长所允许的相对误差限为多少?解:设该正方形的边长为x ,面积为2()f x x =,由(())(())'()()()()f x xf x f x x f x f x δδ∆=≈解得(())()()'()f x f x x xf x δδ≈=2(())(())22f x x f x x xδδ==0.5%5.下面计算y 的公式哪个算得准确些?为什么?(1)已知1x <<,(A )11121xy x x-=-++,(B )22(12)(1)x y x x =++; (2)已知1x >>,(A )y=,(B )y =; (3)已知1x <<,(A )22sin x y x =,(B )1cos 2xy x-=;(4)(A)9y =(B )y =解:当两个同(异)号相近数相减(加)时,相对误差可能很大,会严重丧失有效数字;当两个数相乘(除)时,大因子(小除数)可能使积(商)的绝对值误差增大许多。
用高斯消元法求解线性代数方程组12341115-413-2823113-21041513-21719x x x x ⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦ 1111X *⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦(X*是方程组的精确解)1 高斯消去法1.1 基本思想及计算过程高斯(Gauss )消去法是解线性方程组最常用的方法之一,它的基本思想是通过逐步消元,把方程组化为系数矩阵为三角形矩阵的同解方程组,然后用回代法解此三角形方程组得原方程组的解。
为便于叙述,先以一个三阶线性方程组为例来说明高斯消去法的基本思想。
⎪⎩⎪⎨⎧=++II =++I =++III)(323034)(5253)(6432321321321x x x x x x x x x 把方程(I )乘(23-)后加到方程(II )上去,把方程(I )乘(24-)后加到方程(III )上去,即可消去方程(II )、(III )中的x 1,得同解方程组⎪⎩⎪⎨⎧=+-II -=-I =++III)(20223)(445.0)(64323232321x x x x x x x将方程(II )乘(5.03)后加于方程(III ),得同解方程组: ⎪⎩⎪⎨⎧-=-II -=-I =++III)(42)(445.0)(6432332321x x x x x x由回代公式(3.5)得x 3 = 2,x 2 = 8,x 1 = -13。
下面考察一般形式的线性方程组的解法,为叙述问题方便,将b i 写成a i , n +1,i = 1, 2,…,n 。
⎪⎪⎩⎪⎪⎨⎧=++++=++++=+++++++1,3322111,223232221211,11313212111n n n nn n n n n n n n n n a x a x a x a x a a x a x a x a x a a x a x a x a x a(1-1)如果a 11 ≠ 0,将第一个方程中x 1的系数化为1,得)1(1,1)1(12)1(121+=+++n n n a x a x a x其中)0(11)0()1(1aa aijj=, j = 1, …, n + 1(记ij ij a a =)0(,i = 1, 2, …, n ; j = 1, 2, …, n + 1)从其它n –1个方程中消x 1,使它变成如下形式⎪⎪⎩⎪⎪⎨⎧=++=++=++++++)1(1,)1(2)1(2)1(1,2)1(22)1(22)1(1,1)1(12)1(121n n n nn n n n n n n n a x a x a a x a x a a x a x a x(1-2)其中n i a m a aij i ij ij ,,2)1(1)1( =⋅-=,1,,3,211)1(11+==n j a a m i i由方程(1-1)到(1-2)的过程中,元素11a 起着重要的作用,特别地,把11a 称为主元素。
如果(1-2)中0)1(22≠a ,则以)1(22a 为主元素,又可以把方程组(1-2)化为:⎪⎪⎪⎩⎪⎪⎪⎨⎧=++=++=+++=+++++++)2(1,)2(3)2(3)3(1,3)2(33)2(33)2(1,2)2(23)2(232)1(1,1)1(12)1(121 n n n nn n n n n n n n n n n a x a x a a x a x a a x a x a x a x a x a x (1-3)针对(1-3) 继续消元,重复同样的手段,第k 步所要加工的方程组是:⎪⎪⎪⎪⎪⎩⎪⎪⎪⎪⎪⎨⎧=++=++=+++=+++=++++-+---+---+-----++)1(1,)1()1()1(1,)1()1()1(1,1)1()1(11)2(1,2)2(23)2(232)1(1,1)1(13)1(132)1(121 k n n n k nn k k nk k n k n k nn k k kk k n k n k kn k k k k n n n n n n a x a x a a x a x a a x a x a x a x a x a x a x a x a x a x设0)1(≠-k kka ,第k 步先使上述方程组中第k 个方程中x k 的系数化为1: )(1,)()(1,k n k n k kn k k k k k a x a x a x ++=++然后再从其它(n - k )个方程中消x k ,消元公式为:⎪⎪⎪⎩⎪⎪⎪⎨⎧+=++=⋅-=++==----nk i n k j a a a a n k k j a a a k kjk ik k ij k ij k kk k kjk kj ,11,,11,,1,)()1()1()()1()1()( (1-4) 按照上述步骤进行n 次后,将原方程组加工成下列形式:⎪⎪⎪⎩⎪⎪⎪⎨⎧==+=+++=+++++-+---++)(1,)1(1,1)1(1)2(1,2)2(23)2(232)1(1,1)1(13)1(132)1(121 n n n n n n n n n nn n n n n n n n a x a x a x a x a x a x a x a x a x a x回代公式为:⎪⎩⎪⎨⎧-=-==∑+=++1,,11)()(1,)(1, n k x aa x a x nk j jk kj k n k k n n nn (1-5)综上所述,高斯消去法分为消元过程与回代过程,消元过程将所给方程组加工成上三角形方程组,再经回代过程求解。
由于计算时不涉及x i , i = 1, 2, …, n ,所以在存贮时可将方程组AX = b ,写成增广矩阵(A,b )存贮。
下面,我们统计一下高斯消去法的工作量;在(1-4)第一个式子中,每执行一次需要)(k n n --次除法,在(1-5)第二个式子中,每执行一次需要)()]1([k n k n -⨯--次除法。
因此在消元过程中,共需要[])12)(1(61)1()1()()1(121++=+-=+-+-⨯+-∑∑==n n n k n k n k n k n nk nk次乘作法。
此外,回代过程共有)1(2)(1-=-∑=n nk n nk 次乘法。
汇总在一起,高斯消去法的计算量为:33)13(3232n n n n n n -+=-+ 次乘除法。
1.2 基于VC 的C 语言程序#include<stdio.h>#define n 4 /*n 为方程组系数矩阵的阶数*/ int Gauss(float a[n][n],float b[n]) {int i,j,k,flag=1; float t;for(i=0;i<n-1;i++) {if(a[i][i]==0) { flag=0; break; } else {for(j=i+1;j<n;j++) /*消元过程*/{t=-a[j][i]/a[i][i];b[j]=b[j]+t*b[i];for(k=i;k<n;k++)a[j][k]=a[j][k]+t*a[i][k];}}}return(flag);}void zg_matric(float a[n][n],float b[n]) /*输出增广矩阵*/{int i,j;for(i=0;i<n;i++){for(j=0;j<n;j++)printf("%10f",a[i][j]);printf("%10f",b[i]);printf("\n");}printf("\n");}void main(){static float a[n][n]={{11,1,5,-4},{-2,8,2,3},{3,-2,10,4},{1,3,-2,17}}; float b[n]={13,11,15,19};float x[n]={0,0,0,0};int i,j,flag;zg_matric(a,b);flag=Gauss(a,b);zg_matric(a,b);if(flag==0) /*无解*/printf("Gauss method dose not run.");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;j<n;j++)x[i]=x[i]-a[i][j]*x[j];x[i]=x[i]/a[i][i];}for(i=0;i<n;i++) /*输出方程组的解*/printf("x%d=%11.7f\n",i+1,x[i]);}}1.3 运行结果图最新文件---------------- 仅供参考--------------------已改成-----------word文本--------------------- 方便更改赠人玫瑰,手留余香。