第3章3-01高斯消元法,列住元法

合集下载

用列主元高斯消元法求线性代数方程组的解

用列主元高斯消元法求线性代数方程组的解

课程设计任务书前 言回顾普通解方程组的方法,一般都是先逐个削去未知变量,最终得到只有一个未知变量的方程,解之,把得到的值回代到消去变量过程中得到的方程组,逐个求出未知变量。

这种解线性方程组的基本方法就是这里要介绍的高斯消去法。

数学上,高斯消元法(或译:高斯消去法),是线性代数中的一个算法,可用来为线性方程组求解,求出矩阵的秩,以及求出可逆方阵的逆矩阵。

当用于一个矩阵时,高斯消元法会产生出一个“行梯阵式”。

高斯消元法可以用在电脑中来解决数千条等式及未知数。

高斯消元法可以用来找出一个可逆矩阵的逆矩阵。

用关联矩阵表述网络拓扑结构,并根据厂站拓扑结构和网络拓扑结构等概念简化了电力系统的拓扑结构。

根据广义乘法和广义加法的运算规则,将改进的高斯消元算法应用于电力系统拓扑结构分析中,并引入稀疏、分块处理等技术提高了上述拓扑分析的效率。

采用上述高斯消元算法对山东电网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)摘 要用列主元素高斯消去法法,选取每列的绝对值最大的元素作为消去对象并作为主元素。

第三节、高斯——若当消元

第三节、高斯——若当消元

0
1 1
3
0
1
0
1
0 0 9 18 0 0 1 5 上页 下页 返回
故原方程的解为 x 5,1,2T
第三章 第三节
二 逆矩阵
[ A E] 高斯—约当消元法[E A1]
矩阵的初等行变换
定理 设A为非奇异矩阵,方程组 AX In的增广矩
阵为 C A | In ,如果对C应用高斯---若当方法化为
In | B ,则 A1 B .
1 3 2
例2
用高斯——若当削元法求 的逆矩阵 A1
A 2 3
5 6
4 5
上页 下页 返回

第三章 第三节
1 3 2 1 0 0
C A | I3 2 5 4 0 1 0
3 6 5 0 0 1
1 0 2 5 3 0 1 3 2 1 0 0
0 1 0
2
1 0 0 1 0 2 1
第三章 第三节
第三节 高斯——若当消元法
一 高斯----若当消元
在高斯消元过程中,先将主元素化为1, 而后将主元所在列的其它元素均化为零,最后 将系数矩阵化为单位矩阵 E,无需回代就可求 得原方程的解,此法称为高斯—若当消元法。
例 1 用高斯——若当消元法求解线性方程组
上页 下页 返回
第三章 第三节
0
0 0 1 3 3 1 0 3 1 3 0 1
1 0 0 1 3 2
0 1 0 1 3 3 1
所以 1 3 2
A1
2
1
0
3 3 1
上页 下页 返回
例 1 用高斯——若当消元法求解线性方程组
2x1 8x2 2x3 14
x1
6 x2

计算方法(3)第三章 线性代数方程组的解法

计算方法(3)第三章 线性代数方程组的解法

“回代”解得

xn

bn ann


xk

1 akk
[bk

n
akj x j ]
j k 1

其中aii 0 (i 1,2,......, n)
(k n 1, n 2, ,1)
返回变量
函数名
function X=backsub(A,b) 参数表
%Input—A is an n×n upper- triangular nonsingullar matrix % ---b is an n×1 matrix
x1

xi

b1 / a11
i 1
(bi aik
k 1
xk ) / aii
(i

2,3,
, n)
如上解三角形方程组的方法称为回代法.
二. 高斯消元法(Gaussian Elimination)
高斯消元法的求解过程,可大致分为两个阶段:首先, 把原方程组化为上三角形方程组,称之为“消元”过 程;然后,用逆次序逐一求出上三角方程组(原方程组的 等价方程组)的解,称之为“回代”过程.
符号约定:
1. (λEi )(Ei ): 第i个方程乘以非零常数λ。 2. (Ei +λEj )(Ei ): 第j个方程乘以非零常数λ
加到第i个方程。
3.(Ei )(Ej ): 交换第i个方程与第j个方程。
a11 x1 a12 x2 ... a1n xn b1
a21
x1 4 x4 x2 4 1 2 1
故解为(x1,x2 ,x3 ,x4 )T (1,2,0,1)T
A=[1 1 0 1;0 -1 -1 -5;0 0 3 13;0 0 0 -13] b=[4;-7;13;-13] X=backsub(A,b)

高斯列主元消去法

高斯列主元消去法

高斯列主元消去法2.3高斯列主元消去法解线性方程组一:问题的提出我们都知道,高斯列主元素消去法是计算机上常用来求解线性方程组的一种直接的方法。

就是在不考虑舍入误差的情况下,经过有限步的四则运算可以得到线性方程组的准确解的一类方法。

实际运算的时候因为只能有限小数去计算,因此只能得到近似值。

在实际运算的时候,我们很多时候也常用高斯消去法。

但是高斯消去法在计算机中运算的时候常会碰到两个问题。

1.一旦遇到一些主元等于0,消元过程便无法进行下去。

2.在长期使用中还发现,即使消元过程能进行下去,但是当一些主元的绝对值很小时,求解出的结果与真实结果相差甚远。

为了避免高斯消去法消元过程中出现的上述两个问题,一般采用所谓的选择主元法。

其中又可以分为列选主元和全面选主元两种方法。

目前计算机上常用的按列选主元的方法。

因此我在这里做的也是列选主元高斯消去法。

二、算法的基本思想大家知道,如果一个线性方程组的系数矩阵是上三角矩阵时,即这种方程组我们称之为上三角方程组,它是很容易求解的。

我们只要把方程组的最下面的一个方程求解出来,在把求得的解带入倒数第二个方程,求出第二个解,依次往上回代求解。

然而,现实中大多数线性方程组都不是上面所说的上三角方程组,所以我们有可以把不是上三角的方程通过一定的算法化成上三角方程组,由此我们可以很方便地求出方程组的解。

高斯消元法的目的就是把一般线性方程组简化成上三角方程组。

于是高斯消元法的基本思想是:通过逐次消元将所给的线性方程组化为上三角形方程组,继而通过回代过程求解线性方程组。

三、算法的描述1、设有n元线性方程组如下:=2、第一步:如果a11!=0,令li1= ai1/a11, I= 2,3,……,n用(-li1)乘第一个方程加到第i个方程上,得同解方程组:a(1)11a(1)12...a(1)1nx1b(1)1a(1)21a(1)22...a(1)2nx2b(1)2 .......=.a(1)n-11 a(1)n-12 . .a(1)n-1nxn-1b(1)n-1a(1)n1a(1)n2. . . a(1)nnxnb(1)n简记为:A(2)x=b(2)其中a(2)ij = a(1)ij – li1 a(1)1j ,I ,j = 2,3,..,nb(2)I = b(1)I – li1 b(1)1 ,I = 2,3,...,n第二步:如果a(2)22!=0,令li2= a(2)i2/a(2)22, I= 3,……,n依据同样的原理,对矩阵进行化间(省略),依次下去,直到完成!最后,得到上三角方程组:a(1)11a(1)12...a(1)1nx1b(1)1a(1)22 ...a(1)2nx2b(1)2 .......=.. .a(n-1)n-1nxn-1b(n-1)n-1. . . a(n)nnxnb(n)n简记为:A(n)x=b(n)最后从方程组的最后一个方程进行回代求解为:n = b(n) / a(n)nni = ( b(k)k - a(k)kjxj ) / a(k)kk以上为高斯消去法的基本过程。

高斯消元法(完整)

高斯消元法(完整)

高斯消元法解线性方程组 在工程技术和工程管理中有许多问题经常可以归结为线性方程组类型的数学模型,这些模型中方程和未知量个数常常有多个,而且方程个数与未知量个数也不一定相同。

那么这样的线性方程组是否有解呢?如果有解,解是否唯一?若解不唯一,解的结构如何呢?这就是下面要讨论的问题。

一、线性方程组 设含有n 个未知量、有m 个方程式组成的方程组(3.1)a x a x a x b a x a x a x b a x a x a x b n n n n m m mn n m11112211211222221122+++=+++=+++=⎧⎨⎪⎪⎩⎪⎪ 其中系数,常数都是已知数,是未知量(也称为未知数)。

当右端常数项a ij b j x i , , …, 不全为0时,称方程组(3.1)为非齐次线性方程组;当== … =b 1b 2b m b 1b 2= 0时,即b m (3.2)a x a x a x a x a x a x a x a x a x n n n n m m mn n 111122121122221122000+++=+++=+++=⎧⎨⎪⎪⎩⎪⎪ 称为齐次线性方程组。

由n 个数, , …, 组成的一个有序数组(, , …, ),如果将它们k 1k 2k n k 1k 2k n 依次代入方程组(3.1)中的, , …, 后,(3.1)中的每个方程都变成恒等式,x 1x 2x n 则称这个有序数组(, , …, )为方程组(3.1)的一个解。

显然由=0, k 1k 2k n x 1=0, …, =0组成的有序数组(0, 0, …, 0)是齐次线性方程组(3.2)的一个解,x 2x n 称之为齐次线性方程组(3.2)的零解,而当齐次线性方程组的未知量取值不全为零时,称之为非零解。

(利用矩阵来讨论线性方程组的解的情况或求线性方程组的解是很方便的。

因此,我们先给出线性方程组的矩阵表示形式。

)非齐次线性方程组(3.1)的矩阵表示形式为:AX = B其中A = ,X = ,B = ⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡mn m m n n a a a a a a a a a 212222111211⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡n x x x 21⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡n b b b 21称A 为方程组(3.1)的系数矩阵,X 为未知矩阵,B 为常数矩阵。

应用数值分析(第四版)课后习题答案第3章

应用数值分析(第四版)课后习题答案第3章

第三章习题解答1.试讨论a 取什么值时,下列线性方程组有解,并求出解 。

123123123123212312311(1)1(2)1ax x x ax x x x ax x x ax x a x x ax x x ax a⎧++=++=⎧⎪⎪++=++=⎨⎨⎪⎪++=++=⎩⎩ 解:(1)111111111a A a a ⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦ 经初等行变换化为1001/(2)0101/(2)0011/(2)a a a +⎡⎤⎢⎥+⎢⎥⎢⎥+⎣⎦ 当2a ≠-时,方程组有解,解为111(,,).222Tx a a a =+++ (2)21111111a A a a a a ⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦ 经初等行变换化为2100(1)/(2)0101/(2)001(21)/(2)a a a a a a -++⎡⎤⎢⎥+⎢⎥⎢⎥+++⎣⎦当2a ≠-时,方程组有解,解为21121(,,).222Ta a a x a a a +++=-+++2.证明下列方程组Ax=b12341123421233234432432385x x x x b x x x x b x x x b x x x b+--=⎧⎪-+-=⎪⎨+-=⎪⎪-+-=⎩ 当(1)(10,4,16,3).T b =-时无解;(2)(2,3,1,3).T b =时有无穷多组解。

解:(1) r(A)=3≠r(A,b)=4 当(10,4,16,3).T b =-时无解;(2) r(A)=3,r(A,b)=3 当(2,3,1,3).T b =时有无穷多组解。

3.用列主元高斯消元法求解Ax=b2233(1)477,12457A b ⎡⎤⎡⎤⎢⎥⎢⎥==⎢⎥⎢⎥⎢⎥⎢⎥--⎣⎦⎣⎦ 1231(2)234,13462A b ⎡⎤⎡⎤⎢⎥⎢⎥==-⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦(1)x=(2,-2,1)T (2)x=(0,-7,5)T4.证明上(下)三角方阵的逆矩阵任是上(下)三角方阵。

列主元高斯消去法和列主元三角分解法解线性方程

列主元高斯消去法和列主元三角分解法解线性方程

计算方法实验报告1课题名称用列主元高斯消去法和列主元三角分解法解线性方程目的和意义高斯消去法是一个古老的求解线性方程组的方法,但由它改进得到的选主元的高斯消去法则是目前计算机上常用的解低阶稠密矩阵方程组的有效方法;用高斯消去法解线性方程组的基本思想时用矩阵行的初等变换将系数矩阵A 约化为具有简单形式的矩阵上三角矩阵、单位矩阵等,而三角形方程组则可以直接回带求解 用高斯消去法解线性方程组b Ax =其中A ∈Rn ×n 的计算量为:乘除法运算步骤为32(1)(1)(21)(1)(1)262233n n n n n n n n n n nMD n ----+=+++=+-,加减运算步骤为(1)(21)(1)(1)(1)(25)6226n n n n n n n n n n AS -----+=++=;相比之下,传统的克莱姆法则则较为繁琐,如求解20阶线性方程组,克莱姆法则大约要19510⨯次乘法,而用高斯消去法只需要3060次乘除法;在高斯消去法运算的过程中,如果出现absAi,i 等于零或过小的情况,则会导致矩阵元素数量级严重增长和舍入误差的扩散,使得最后的计算结果不可靠,所以目前计算机上常用的解低阶稠密矩阵方程的快速有效的方法时列主元高斯消去法,从而使计算结果更加精确; 2、列主元三角分解法高斯消去法的消去过程,实质上是将A 分解为两个三角矩阵的乘积A=LU,并求解Ly=b 的过程;回带过程就是求解上三角方程组Ux=y;所以在实际的运算中,矩阵L 和U 可以直接计算出,而不需要任何中间步骤,从而在计算过程中将高斯消去法的步骤进行了进一步的简略,大大提高了运算速度,这就是三角分解法采用选主元的方式与列主元高斯消去法一样,也是为了避免除数过小,从而保证了计算的精确度计算公式1、 列主元高斯消去法设有线性方程组Ax=b,其中设A 为非奇异矩阵;方程组的增广矩阵为第1步k=1:首先在A 的第一列中选取绝对值最大的元素1l a ,作为第一步的主元素:111211212222112[,]n n n l n nn n a a a a b a a a b a a a b ⎡⎤⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦a b然后交换A,b 的第1行与第l 行元素,再进行消元计算;设列主元素消去法已经完成第1步到第k -1步的按列选主元,交换两行,消元计算得到与原方程组等价的方程组 Akx=bk第k 步计算如下:对于k=1,2,…,n -11按列选主元:即确定t 使 2如果t ≠k,则交换A,b 第t 行与第k 行元素; 3消元计算消元乘数mik 满足:4回代求解2、 列主元三角分解法 对方程组的增广矩阵 经过k -1步分解后,可变成如下形式:111max 0l i i n a a ≤≤=≠(1)(1)(1)(1)(1)1112111(2)(2)(2)(2)22222()(()1)()()()()()1,1()(,)()[,][,] k k k k nk k nk n k k k k k kk kn k k k k n k k k n nn a a a a b a a a b a a b a b b a a a +++⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥→=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦A b A b ()()max 0k k tk ik k i na a ≤≤=≠,(1,,)ik ik ik kka a m i k n a ←=-=+, (,1,,), (1,,)ij ij ik kji i ik k a a m a i j k n b b m b i k n ←+=+⎧⎨←+=+⎩⎪⎪⎩⎪⎪⎨⎧--=-←←∑+=)1,,2,1(,)(1n n i a x a b x a b x ii n i j j ij i i nnn n [,]A A b =11121,11111222,122221,11,1,1,211,11,2121,112,112,1k k k k k k k j n k k j n k k k i i i k n n kk kj kn k ik ij in i nknjk k k j k n n nnk k n a a a b A a u u u u u u y l l l l l l ll l l l u u u u u y u u u u y a a b a a b l a -------------⎡→⎣⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎦第k 步分解,为了避免用绝对值很小的数kku 作除数,引进量1111 (,1,,;1,2,,) ()/ (1,2,,;1,2,,)k kj kj km mj m k ik ik im mk kkm u a l u j k k n k n l a l u u i k k n k n -=-=⎧=-=+=⎪⎪⎨⎪=-=++=⎪⎩∑∑11(,1,,)k i ik im mk m s a l u i k k n -==-=+∑,于是有kk u =ks ;如果 ,则将矩阵的第t 行与第k 行元素互换,将i,j 位置的新元素仍记为jjl 或jja ,然后再做第k 步分解,这时列主元高斯消去法程序流程图max t ik i n s s ≤≤= ()/ 1,2,,)1 (1,2,,),kk k k t iki k ik u s s s l s s i k k n l i k k n ===++≤=++即交换前的,(且列主元高斯消去法Matlab主程序function x=gauss1A,b,c %列主元法高斯消去法解线性方程Ax=bif lengthA~=lengthb %判断输入的方程组是否有误disp'输入方程有误'return;enddisp'原方程为AX=b:' %显示方程组Abdisp'------------------------'n=lengthA;for k=1:n-1 %找列主元p,q=maxabsAk:n,k; %找出第k列中的最大值,其下标为p,qq=q+k-1; %q在Ak:n,k中的行号转换为在A中的行号if absp<cdisp'列元素太小,detA≈0';break;elseif q>ktemp1=Ak,:; %列主元所在行不是当前行,将当前行与列主Ak,:=Aq,:; 元所在行交换包括bAq,:=temp1;temp2=bk,:;bk,:=bq,:;bq,:=temp2;end%消元for i=k+1:nmi,k=Ai,k/Ak,k; %Ak,k将Ai,k消为0所乘系数Ai,k:n=Ai,k:n-mi,kAk,k:n; %第i行消元处理bi=bi-mi,kbk; %b消元处理endenddisp'消元后所得到的上三角阵是'A %显示消元后的系数矩阵bn=bn/An,n; %回代求解for i=n-1:-1:1bi=bi-sumAi,i+1:nbi+1:n/Ai,i;endclear x;disp'AX=b的解x是' x=b;调用函数解题列主元三角分解法程序流程图列主元三角分解法Matlab主程序①自己编的程序:function x=PLUA,b,eps %定义函数列主元三角分解法函数if lengthA~=lengthb %判断输入的方程组是否有误disp'输入方程有误'return;enddisp'原方程为AX=b:' %显示方程组Abdisp'------------------------'n=lengthA;A=A b; %将A与b合并,得到增广矩阵for r=1:nif r==1for i=1:nc d=maxabsA:,1; %选取最大列向量,并做行交换if c<=eps %最大值小于e,主元太小,程序结束break;elseendd=d+1-1;p=A1,:;A1,:=Ad,:;Ad,:=p;A1,i=A1,i;endA1,2:n=A1,2:n;A2:n,1=A2:n,1/A1,1; %求u1,ielseur,r=Ar,r-Ar,1:r-1A1:r-1,r; %按照方程求取ur,iif absur,r<=eps %如果ur,r小于e,则交换行p=Ar,:;Ar,:=Ar+1,:;Ar+1,:=p;elseendfor i=r:nAr,i=Ar,i-Ar,1:r-1A1:r-1,i; %根据公式求解,并把结果存在矩阵A中endfor i=r+1:nAi,r=Ai,r-Ai,1:r-1A1:r-1,r/Ar,r; %根据公式求解,并把结果存在矩阵A中endendendy1=A1,n+1;for i=2:nh=0;for k=1:i-1h=h+Ai,kyk;endyi=Ai,n+1-h; %根据公式求解yiendxn=yn/An,n;for i=n-1:-1:1h=0;for k=i+1:nh=h+Ai,kxk;endxi=yi-h/Ai,i; %根据公式求解xiendAdisp'AX=b的解x是'x=x'; %输出方程的解②可直接得到P,L,U并解出方程解的的程序查阅资料得子函数PLU1,其作用是将矩阵A分解成L乘以U的形式;PLU2为调用PLU1解题的程序,是自己编的Ⅰ.function l,u,p=PLU1A %定义子函数,其功能为列主元三角分解系数矩阵A m,n=sizeA; %判断系数矩阵是否为方阵if m~=nerror'矩阵不是方阵'returnendif detA==0 %判断系数矩阵能否被三角分解error'矩阵不能被三角分解'endu=A;p=eyem;l=eyem; %将系数矩阵三角分解,分别求出P,L,Ufor i=1:mfor j=i:mtj=uj,i;for k=1:i-1tj=tj-uj,kuk,i;endenda=i;b=absti;for j=i+1:mif b<abstjb=abstj;a=j;endendif a~=ifor j=1:mc=ui,j;ui,j=ua,j;ua,j=c;endfor j=1:mc=pi,j;pi,j=pa,j;pa,j=c;endc=ta;ta=ti;ti=c;endui,i=ti;for j=i+1:muj,i=tj/ti;endfor j=i+1:mfor k=1:i-1ui,j=ui,j-ui,kuk,j;endendendl=trilu,-1+eyem;u=triuu,0Ⅱ.function x=PLU2A,b %定义列主元三角分解法的函数l,u,p=PLU1A %调用PLU分解系数矩阵A m=lengthA; %由于A左乘p,故b也要左乘p v=b;for q=1:mbq=sumpq,1:mv1:m,1;endb1=b1 %求解方程Ly=b for i=2:1:mbi=bi-sumli,1:i-1b1:i-1;endbm=bm/um,m; %求解方程Ux=y for i=m-1:-1:1bi=bi-sumui,i+1:mbi+1:m/ui,i;endclear x;disp'AX=b的解x是' x=b;调用函数解题①②编程疑难这是第一次用matlab编程,对matlab的语句还不是非常熟悉,因此在编程过程中,出现了许多错误提示;并且此次编程的两种方法对矩阵的运算也比较复杂;问题主要集中在循环控制中,循环次数多了一次或者缺少了一次,导致数据错误,一些基本的编程语句在语法上也会由于生疏而产生许多问题,但是语句的错误由于系统会提示,比较容易进行修改,数据计算过程中的一些逻辑错误,比如循环变量的控制,这些系统不会提示错误,需要我们细心去发现错误,不断修正,调试;。

作业一 高斯消元法和列主元消元法

作业一 高斯消元法和列主元消元法

用高斯消元法和列主元消去法求解线性代数方程组(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 称为主元素。

线性方程组的直接解法

线性方程组的直接解法

线性方程组的直接解法
线性方程组(linear equation system)是一类几何问题,也是解决线性系统和代数问题的重要方法,线性方程组由多个联立方程组成,这些方程中也可能含有未知量。

直接解法是把数学模型转换为数值模型,并给出实现其解题步骤的算法,它不同于间接求解的方法,既不做任何假设,也不处理不确定性问题,只是简单地直接求解线性方程组。

解线性方程组的直接解法主要分为三种,分别是高斯消元法、列主元消去法和列坐标变换法。

高斯消元法是一种比较常用的方法,主要是把线性方程组的未知量从左到右一步步求出来,其中用到的主要技术是把矩阵中部分元素消去为零,以便求解不定线性方程组的未知量。

而列主元消去法则是以一列为主元,去消除其他联立方程中出现的此列中的变量,从而最终求出其他未知变量的值。

最后,列坐标变换法是将线性方程组转换为一个更有利于求解的矩阵,其中未知量可以直接求得解答。

除了这三种常见方法外,还有一些更特殊的直接解法,比如要解常微分方程的未知函数,可以用拉格朗日方法和分部积分方法,再比如求解雅各比方程的根,可以通过主副方程互解求解,这种方法也叫作特征根法。

综上,解线性方程组的直接解法有高斯消元法、列主元消去法、列坐标变换法等;特殊问题可以采用拉格朗日方法、分部积
分法和特征根法等。

每种方法都有自己的优势,因此在使用时,可以根据问题的特点,选择适合的方法来解决。

数值分析(08)Gauss消元法解线性方程组

数值分析(08)Gauss消元法解线性方程组

end X=backsub(A, b);
%回代求解
消元法是解线性方程组的基本方法,具有计算简 单的优点,但有时由于主元过小,使得计算结果严重 失真,实际中常采用选主元高斯消元法。
§1 Gaussian Elimination – Pivoting Strategies
选主元消去法 /* Pivoting Strategies */
参数表
MATLAB For Gaussian Elimination
function X=gauss(A,b) %Input—A is an n×n nonsingullar maOutput—X is the solution to the system AX=b
进行到底,得到唯一解。
注:事实上,只要 A A ) ... ... A1 存在,则可通过逐 非奇异,即 ... de t( i 次消元及行交换,将方程组化为三角形方程组,求出 a i 1 ... a ii 唯一解。
a11
... a1i
求解的全过程包括两个步骤:消元和回代
1 . 顺序消元
k 1, , n 1 i k 1, , n (1)mik aik ( k ) / akk ( k ) (2)aij ( k 1) aij ( k ) mik akj ( k ),j k 1, , n (3)bi ( k 1) bi ( k ) mik bk ( k )
常见是m n,称为欠定方程组(方程数少于未知数) 此时,从Ax b的无穷多个解中需求出2 范数最小的解。 即求 x , 使 || x ||2 min || x ||2 ,x满足Ax b。
r ( A) r ( A)方程组Ax b无解(即不相容)。 常见是m n,称为超定方程组(又称矛盾方程组) 此时,向量b不在A的列空间R( A)之中,原方程组 无解,但可求出最小二乘意义下的解 x。 即求 x使 || b Ax ||2 min 2

线性方程组的高斯消元法

线性方程组的高斯消元法

线性方程组的高斯消元法线性方程组是一个非常常见的数学问题,它涉及到多个未知数,以及这些未知数之间的线性关系。

在实际应用中,我们经常需要求解这些未知数的具体值,从而可以得到问题的解答。

而高斯消元法则是一个经典的数学方法,用于求解线性方程组。

本文将介绍高斯消元法的基本思路、具体操作流程以及应用技巧。

一、高斯消元法的基本思路高斯消元法是一种基于矩阵运算的求解线性方程组的方法。

它的基本思路是,通过一系列的变换操作,将原始方程组转化为一个更为简单的方程组,从而可以方便地进行求解。

这些变换操作包括:交换任意两行或列、将某一行或列乘以一个常数、将某一行或列加上另一行或列的若干倍。

高斯消元法的核心在于,通过这些变换操作,将方程组转化为一个上三角矩阵或下三角矩阵,从而可以逐步求解出未知数。

在实际操作中,我们通常采用高斯-约旦消元法,即在将方程组转化为上三角矩阵的同时,将矩阵主对角线上的元素全部化为1,从而可以更加方便地进行计算。

二、高斯消元法的具体操作流程下面我们将通过一个具体的例子来介绍高斯消元法的操作流程。

假设我们有一个线性方程组:x1 + 2x2 + x3 = 62x1 + x2 + x3 = 5x1 + x2 + 2x3 = 7我们可以将其转化为一个增广矩阵的形式:1 2 1 | 62 1 1 | 51 12 | 7接下来,我们需要通过一系列的变换操作,将矩阵转化为一个上三角矩阵:2 1 1 | 50 1 3 | -40 0 1 | 3通过以上的变换操作,我们得到了一个上三角矩阵。

接下来,我们可以倒序进行计算,逐步求解未知数。

从最后一行开始,根据矩阵的线性关系,我们可以得到:x3 = 3接下来,考虑第二行中的未知数:x2 + 3x3 = -4代入我们刚才求解的x3的值,可以得到:x2 = -13最后,根据第一行中的线性关系,我们可以求解出x1的值:x1 = 5因此,我们得到了线性方程组的解:x1=5,x2=-13,x3=3。

有限元课程第三章线性方程组解法

有限元课程第三章线性方程组解法

x2
a(2) 23
x3
...
a(2) 2n
b(2) 2
a(3) 33
x3
...
a(3) 3n
xn
b(3) 3
a(n) nn
xn
b(n) n
Gauss消元法的回代过程
回代过程:逐步回代求得原方程组的解
xn
b(n) n
/
a(n) nn
xk
(bk(k )
n
a(k kl
)
xl
)
/
a(k) kk
a(2) 2n
xn
b(2) 2
ai(jk bi(k
1) 1)
a(k) ij
b(k ) i
lik
a(k kj
)
a(k) kk
likbk(k )
xk
ak(
a x (k ) kk 1 k 1
x k 1)
1,k 1 k 1
a(k kn
)
xn
b(k ) k
a x b (k 1) k 1n n
(k 1) k 1
运算(i所, j需时k间,1,故只, n考) 虑作 乘除运算l量k1 。
由消元法步骤知,第k次消元需作nk次除法,作
(n k)(n k + 1)次乘法,故消元过程中乘除法运算量为:
乘法次数 : n1 (n k)(n k 1) n (n2 1) 除法次数 : n1 (n k) n (n 1)
第k步
:
在矩阵[A( k ) , b( k ) ]的第k列中选主元, 使
(k)
a
max
(k)
a
ik
ik
k
k in
将矩阵[A( k ) , b( k ) ]的第k行与第ik 行列换, 进行第k次消元.

高斯消元法和列主元消元法

高斯消元法和列主元消元法

用第二列的3、4行除以 k22得
- 25 - 5 = 11 = k 32 90 18 11
k
42
=
3 1 9 1
2 1 = 0 1
16 45
第三行减去第二行乘以 k 3 2 , 第四行减去第二行乘以k 4 2 。
由以上可得:
骣 1 5 ç11 ç ç 32 ç 0 19 ç ç 11 11 ç ç ç ç 1870 ç0 0 ç ç 198 ç ç ç ç 0 0 - 1727 ç ç 桫 495 - 4 25 11 1133 198 8195 495 13 ÷ ÷ ÷ 147 ÷ ÷ ÷ 11 ÷ ÷ ÷ ÷ 3003 ÷ ÷ ÷ ÷ 198 ÷ ÷ ÷ 6468 ÷ ÷ ÷ ÷ 495 ÷
- 4 25 11 1133 198 3421705518 183278700
÷ ÷ ÷ ÷ 147 ÷ ÷ ÷ 11 ÷ ÷ ÷ ÷ 3003 ÷ ÷ ÷ ÷ 198 ÷ ÷ 3421705518 ÷ ÷ ÷ ÷ 183278700 ÷
13
回代过程可得:
X 4 = 1; X 3 = 1; X 2 = 1; X 1 = 1;
1 k 41 = 11
第二行减去第一行乘以 k 21 , 第三行减去第一行乘以 第四行减去第一行乘以
k k
31


41
由此上可得:
骣 1 ç11 ç ç 90 ç0 ç ç 11 ç ç ç ç ç 0 - 25 ç ç 11 ç ç ç 32 ç0 ç ç 桫 11 5 - 4 13 ÷ ÷ ÷ 32 25 147 ÷ ÷ ÷ 11 11 11 ÷ ÷ ÷ ÷ 95 56 126 ÷ ÷ ÷ ÷ 11 11 11 ÷ ÷ ÷ - 27 191 196 ÷ ÷ ÷ ÷ 11 11 11

第3章 线性方程组直接求解

第3章 线性方程组直接求解

x1 x2 1 0.003 x1 3x2 2.001
12
3.3 列主元高斯消元法
列主元高斯消元法对应的程序(1/2)
#include <stdio.h> #include <math.h> #define MAXSIZE 50 void input(double a[MAXSIZE][MAXSIZE+1],long n); void output(double x[MAXSIZE],long n); void main(void) { double a[MAXSIZE][MAXSIZE+1],x[MAXSIZE],s,max,t; long n,i,j,k,maxi; printf("\n请输入原方程组的阶数:"); scanf("%ld",&n); input(a,n); for(k=0;k<=n-2;k++) { max=a[k][k];maxi=k; for(i=k+1;i<=n-1;i++) if(fabs(a[i][k])>fabs(max)){max=a[i][k];maxi=i;} if(max==0) break; if(maxi!=k) for(j=k;j<=n;j++) {t=a[k][j];a[k][j]=a[maxi][j];a[maxi][j]=t; } for(i=k+1;i<=n-1;i++) { a[i][k]/=-a[k][k]; for(j=k+1;j<=n;j++) a[i][j]+=a[i][k]*a[k][j];}}
克莱姆法则并不实用。常用的数值解法主要分为两类: ① 直接求解方法是指经过有限次四则运算,求出线性方程组精确解的方法。 ② 迭代求解方法是指构造一种迭代方法,由某个(套)迭代初值(粗略解), 得到近似解序列,用序列极限逐步逼近线性方程组精确解的方法。

线性代数方程组的解法

线性代数方程组的解法

线性代数方程组的解法关键词:线性代数方程组;高斯消元法;列主元消元法;三角分解法;杜立特尔分解法;迭代法;雅可比迭代法;高斯-赛德尔迭代法1引言目前,解线性代数方程组在计算机上常用的的方法大致把它分为两类:“直接法”与“迭代法”.在线性代数中曾指出阶线性代数方程组有唯一的解,并且可以用克拉默法则求方程组的解,初次看来问题已经解决,但从使用效果看并不是这样的.因为求阶线性代数方程组,如果用克拉默法则,需要计算个阶行列式,每个阶行列式为项之和,每项又是个元素的乘积,所以计算中仅乘法次数就高达次,当较大时,它的计算量是非常惊人的.因为现在所碰到的很多问题都需要很大的计算量,故需要好用的算法来求解.先来回顾一下回代过程和迭代过程.(1)是一个三角形方程组,当有唯一解时,可以用反推的方式求解,也就是先从第个方程解得, (2)然后代入第个方程,可得到, (3)如此继续下去,假设已得到,, , ,代进第个方程即得的计算, (4)上述求解的过程叫做回代过程.定义1[1] (向量的范数) 若向量的某个实值函数满足1.是非负的,即且的充要条件是 ;2.是齐次的,即 ;3.三角不等式,即对,总是有.那么上向量的范数(或模)就是 .下面给几个最常遇到的向量范数.向量的“1”范数:(5)向量的“2”范数:(6)向量的范数:(7)例1设求 , , .解由式(5),(6)及(7)知.定义2若矩阵的某个实值函数满足1.是非负的,即且的充要条件是 ;2.是齐次的,即 ;3.三角不等式,即对总有;1.矩阵的乘法不等式,即对总有,那么称为上矩阵的范数(或模).表 1是矩阵几个常用算子范数的定义与算式.表 1范数名称记号定义计算公式“1”范数(又名列模)“2”范数(又名谱模)“”范数(又名行模)的极限就是方程组的解向量,这时候在给定允许的误差内,只要适当的大,就可以作为方程组在满足精度要求条件下的近似解.这种求近似解的方法就是解线性方程组的一类基本的迭代解法,其中称为迭代矩阵,公式(9)称迭代公式(或迭代过程),由迭代公式得到的序列叫做迭代序列.如果迭代的序列是收敛的,则称为迭代法收敛;如果迭代的序列是不收敛,则称它是迭代法发散.定理3设 .如果约化主元素,则可以利用高斯消元的方法把方程组约化成三角形方程组来求解,其计算公式如下:(1)消元计算:对依次计算(2)回代计算:3用高斯消元法与列主元消元法解线性代数方程组(重点)!3.1 高斯消元法解方程组用高斯消元的方法求线性代数方程组的解的整个计算过程可分为两个环节,也就是利用按照次序消去未知数的方法,把原来的方程组转化成跟它同解的三角形方程组(这个转化的过程叫消元过程),再通过回代过程求三角形方程组的解,最终得到原来方程组的解.其中按照方程的顺进行消元的高斯消元法,又叫顺序消元法.3.2列主元消元法解方程组列主元消元法实际上是一种行交换的消元法,它跟顺序消元法比较而言,主要特点是在进行第次消元前,不管的值是否等于零,都在子块的第一列中选择一个元,使,并将中的第行元与第行元互相变换(相当于交换同解方程组中的第个方程),然后再进行消元计算得到结果.注:列主元素法的精度虽然稍低于全主元素法[1],但它计算简单,相对比全主元素法它的工作的量大大减少,并且从计算经验和理论分析都可以表明,它与全主元素法同样拥有很好的值稳定性,列主元素法是求解中小型浓密型方程组的最好的方法之一.4用三角分解法解线性代数方程组4.1 矩阵的三角分解定义4把一个阶矩阵分解成两个三角矩阵相乘的形式称为矩阵的三角分解.常见的矩阵三角分解是其中是下三角形的矩阵,是上三角形的矩阵.定理5[1](矩阵三角分解基本定理)设 .若的顺序主子式,那么存在唯一的杜利特尔分解其中是单位下三角形矩阵,为非奇异的上三角形矩阵.如果是单位下三角形的矩阵,是上三角形的矩阵,那么把这种分解法称为杜利特尔分解法,其中杜利特尔分解法是这种三角分解的一种特例,下面主要介绍利用杜利特尔分解法来求方程组的解.4.2 用杜利特尔分解法解线性代数方程组用杜利特尔分解法解方程组的步骤可以把它归纳为(1)实现分解,也就是1.按算式(11)(12)依次计算的第一行元与的第一列元;1.对按算式(13)(14)依次计算的第行元与的第列元.(2)求解三角形方程组,即按算式依次计算 .(3)求解三角形方程组,即按算式依次计算.利用杜利特尔分解法解方程组与高斯消元法是相似的,它重要的优点是:在利用分解,解有相同的系数矩阵的方程组时,用杜利特尔分解法非常方便,只用两个式子就可以得到方程组的解.5用迭代法解线性代数方程组用迭代法求方程组的解,需要考虑迭代过程的收敛性,在下面的讨论中,都假设方程组的系数矩阵的对角阵是不为零的.5.1 用雅可比迭代法解方程组对于一般线性方程组,如果从第个方程解出,就可以把它转化成等价的方程组. (15)从而可以得到对应的迭代公式(16)这就是解一般方程组的分量形式的雅可比(Jacobi)迭代公式.如果把它改成(17)并把系数矩阵表示成(18)其中则可以看出式的左右两端分别是向量和的第个分量,故因为可逆,所以于是就可以得到是雅可比迭代的公式.其中(称为雅可比迭代矩阵), .5.2 用高斯-赛德尔迭代法解方程组高斯-赛德尔迭代法也是常用的迭代法,设线性代数方程组为,则高斯-赛德尔迭代法的迭代公式为(19)其中迭代法(19)就称为高斯-赛德尔迭代法.通过雅可比迭代法类似的途径,就可以得到矩阵的表达式其中(称为高斯-赛德尔迭代矩阵), .高斯-赛德尔迭代法与雅可比迭代法都有算式简单、容易在计算机上实现等优点,但是用计算机来计算时,雅可比迭代法需要两组工作单元用来寄存与的量,而高斯赛-德尔迭代法只需一组工作单元存放或的分量.对于给定的线性方程组,用这两种方法求解可能都收敛或者都不收敛,也可能一个收敛另一个不收敛,两种方法的收敛速度也不一样.5.3 迭代法的收敛条件与误差分析定义6[1]矩阵全部的特征值的模的最大值,叫做矩阵的谱半径,记作 ,即.定理7[1]对任意初始向量迭代过程收敛的充要条件是;当时,越小,那么其收敛的速度是越快的.由定理7可知,用雅可比迭代法求解时,其迭代的过程是收敛的,而用高斯-赛德尔迭代法来求解,其迭代的过程是发散的.在不同条件下,收敛的速度是不同的,对同一矩阵,一种方法是收敛的,一种方法发散.第 7 页。

高斯矩阵消元法

高斯矩阵消元法

高斯矩阵消元法高斯矩阵消元法是一种用于解线性方程组的常用方法,通过将线性方程组表示为增广矩阵的形式,然后利用矩阵的基本行变换,将增广矩阵化简为阶梯形矩阵,从而得到方程组的解。

本文将介绍高斯矩阵消元法的基本原理和步骤,并通过一个具体的例子来说明该方法的应用。

一、基本原理高斯矩阵消元法的基本原理是利用矩阵的基本行变换,通过逐步消元的方式将增广矩阵化简为阶梯形矩阵。

具体而言,基本行变换包括以下三种操作:交换两行、将某行乘以一个非零常数、将某行的倍数加到另一行上。

通过这些基本行变换,可以将增广矩阵化简为阶梯形矩阵,从而得到方程组的解。

二、步骤高斯矩阵消元法的步骤如下:1. 将线性方程组表示为增广矩阵的形式。

增广矩阵是将方程组的系数矩阵和常数矩阵按列合并而成的矩阵。

2. 选取增广矩阵的第一列的第一个非零元素所在的行,作为主元所在的行。

3. 对选定的主元所在的行进行归一化处理,即将主元所在的行的所有元素除以主元的值,使主元的值变为1。

4. 利用主元所在的行,将其他行的对应列的元素消为零。

具体而言,对于每一行,将该行的元素乘以主元所在的行的首个非零元素的相反数,然后加到对应列的元素上,使其变为零。

5. 重复步骤2至步骤4,直到所有行的首个非零元素都位于对应的列的下方。

6. 将化简后的增广矩阵转化为方程组的解。

从阶梯形矩阵的最后一行开始,逐步回代,求解每个变量的值。

三、示例为了更好地理解高斯矩阵消元法的应用,我们通过一个具体的例子来说明。

考虑以下线性方程组:2x + 3y - z = 73x - 2y + 2z = -5x - y + 3z = 12将其表示为增广矩阵的形式:2 3 -1 | 73 -2 2 |-51 -1 3 |12选取第一列的第一个非零元素所在的行作为主元所在的行,即第一行。

然后对主元所在的行进行归一化处理,将主元的值变为1:1 3/2 -1/2 | 7/23 -2 2 |-51 -1 3 |12接下来,利用主元所在的行,将其他行的对应列的元素消为零。

第3章3-01高斯消元法,列主元法PPT课件

第3章3-01高斯消元法,列主元法PPT课件

a32 a22
1.5 2.5
0.6 ,有
2x1 x2 x3 4 0 2.5x2 1.5x3 4 (3) m32 (2) 0 0 0.6x3 0.6
回代
x3 1, x2 1, x1 1
系数行列式的计算:
det
A
a a (1) (2) 11 22
a(n) nn

2 1 1
2 2
5 7 3 2
0 0.8
2.2
-2.2
0 -1.6 -0.4 0.4
5 7 3 5 4 4
3 2 4 -1 2 2
m21
3 5
m31
4 5
选主元
r2 r3
5 7 3 2
0
1.6
0.4
0.4
0 0.8 2.2 2.2
m32
0.8 1.6
0.5
r3m32 r2
)

b(k)
bk (k )

a(k) kn
a(k) nn
b(k ) n
(k 1, 2, , n)
矩阵形式
A(k ) x b(k ) , (k 1, 2, , n)
消元过程

主元
a(1) 11
0,
a(2) 22
0,
,
a(n) nn
0
消元过程
mik ai(jk 1)
a(k) ik
4
3 3
x2 0 , x3 1
3.1 高斯消去法
3.1.1 顺序高斯消去法
(按方程和未知量的自然顺序进行)
基本思想:用逐次消去未知数的方法把原方程组化为 上三角形方程组进行求解 。 求解 分成两步:
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1, k
2,L
, n)
bi(k`) bi(k ) mikbk(k )
回代过程
上三角形方程组 A(n) x b(n) 求解过程
xn
b(n) n
a(n) nn
b(i) i
n
,(i n 1, n 2,L ,1 )
a(i ij
)
x
j
xi
j i 1
a(i) ii
顺序高斯消去法的使用条件 使用条件之一
第3章 线性代数方程组的数值解法
3.1 高斯消去法 3.2 矩阵三角分解法 3.3 平方根法 3.4 向量和矩阵的范数 3.5 方程组的形态和误差分析 3.6 迭代法 3.7 迭代法的收敛性
n个未知量n个方程的线性代数方程组
矩阵形式 Ax=b,其中
或写成
n
aij x j bi
j 1
i 1, 2,L , n
引进记号
a(1) 11
A(k )
矩阵形式
a(1) 12
L
a(2) 22Βιβλιοθήκη LOLL LL
a(k) kk
L
LL
a(k) kn
L
a(1) 1n
a(2) 2n M
a(k) kn

b(k
)
b(1) 1
b(2) 2
M bk (k )
,(k 1, 2,L
, n)
L a(k)
nn
顺序高斯消去法消元过程: 依从左到右、自上而下的次序将主对角元下方的
元素化为零。 1 不作行交换。 2 用不等于零的数乘某行,加至另一行。
用高斯消去法解下列线性方程组
2x1 x2 x3 4
x1
3x2
2x3
6
x1 2x2 2x3 5
解 对 线 性 方 程 组 第 1 次 消 元 , a11 2 0 , 确 定 乘 数
12x3 y3
x1 1 / 2 x2 1 / 2 x3 3 / 2
下三角形方程组
7
7
2 3
2
4 5 6 10
顺代可求得
y1
1
2 y1 y2
7
3 y1 2 y2 y3 3
y1 1 y2 9 y3 18
上二对角方程组 回代求解,得
4 5
2
0 4
3
上三 角形方程组
4x1 5x2 6x3 10
2x2
3x3
3
7x3 7
回代求解,得
4 5
2
6 10
3
3
7 7
u11 x1 u12 x2 u1n xn y1
u22 x2 u2n xn y2
unn xn yn
2 x1 x2 x3 y1
3x2 5x3 y2
顺序高斯消去法的计算量
消元中各步需乘除法次数
第i 步
1 2
乘法次数 (n 1)2
(n 2)2
M n 1
合计
M
M
1
n (n 1)(2 n 1) 6
除法次数
n 1 n2
1
n (n 1) 2
3.1.2 列主元高斯消去法
为什么列选主:数值不稳定
当高斯消去法的主元
a(k) kk
0时
,
尽管“当
A
非奇异时,
例如 n 20 ,乘法次数为1021 。计算量很大!
两类数值解法: 直接解法:假定计算过程没有舍入误差的情况下,
经过有限步算术运算后能求得线性方程组精确解的 方法。经过有限步运算就能求得精确解的方法,但 实际计算中由于舍入误差的影响,这类方法也只能 求得近似解;例如:高斯消去法、三角分解法等。
迭代解法:构造适当的向量序列,用某种极限过 程去逐步逼近精确解。例如:雅可比迭代法、高斯赛德尔迭代法等。
a32 a22
1.5 2.5
0.6 ,有
2x1 x2 x3 4 0 2.5x2 1.5x3 4 (3) m32 (2) 0 0 0.6x3 0.6
回代
x3 1, x2 1, x1 1
系数行列式的计算:

消元过程
主元为2,2.5,0.6 det A=2×2.5×0.6=3
det A≠0,方程组有唯一解”,也不能实现高斯消去法求
解。 例
A
0 1
1 1 , A 非奇异,det A≠0,方程组有
唯一解,但
3
7 7
下二对角方程组 顺代可求得
7 4 6 0 2
7
0
4
3 3
3.1 高斯消去法
3.1.1 顺序高斯消去法
(按方程和未知量的自然顺序进行) 基本思想:用逐次消去未知数的方法把原方 程组化为上三角形方程组进行求解 。求解 分成 两步: 1.消元过程:用初等行变换将原方程组的系 数矩阵化为上三角形矩阵(简称上三角阵)。 2.回代过程:对上三角形方程组的最后一个 方程求解,将求得的解逐步往上一个方程代入求 解。
M
b(k ) n
A(k ) x b(k ) , (k 1, 2,L , n)
消元过程

主元
a (1) 11
0,
a(2) 22
0,L
,
a(n) nn
0
消元过程
mik ai(jk 1)
a(k) ik
a(k) kk
(k
1,
a(k) ij
mik
2,L a(k)
kj
, n 1) (i,
j
k
m21
a21 a11
1 2
0.5 , m31
a31 a11
1 2
0.5 ,则有
2x1 x2 x3 4 (2) m21 (1) 0x1 2.5x2 1.5x3 4 ,第 2 次消元,a22 2.5 0 , (3) m31 (1) 0x1 1.5x2 1.5x3 3
确定乘数 m32
若矩阵A 非奇异,方程组有惟一解,可用克莱姆(Cra mer )
法则求解
xk
Dk D
,( k
1, 2,L
,n)
其中 D det A , Dk 是用向量b 代替A 的第k 列后所得矩阵的行
列式。
克莱姆法则解线性方程组的计算量(乘法次数)
Sn (n 1) n! (n 1) (n 1) !(n 1)
定理 线性方程组系数矩阵A的顺序主子 矩阵Ak (k=1,2,…,n)非奇异 ,则顺序高斯消去 法能实现方程组的求解。
即方程组能用顺序高斯消去法求解的充 要条件是系数行列式的顺序主子式非零。
高斯消去法能按顺序进行到底的充要条件是
在原方程组的系数矩阵中如何反映出这个条件呢? A的k阶顺序主子矩阵Ak的行列式
使用条件之二
n阶矩阵A为严格对角占优矩阵是指其每个主对 角元的绝对值大于同一行其他元素绝对值之和,即
一阶严格对角占优矩阵指一个非零数。
18 2 4 3
A
3
22
6
3
2 2 34 2
3
4
5
20
引理:严格对角占优矩阵非奇异。
定理 方程组系数矩阵A为严格对角占优矩阵则可实现用 顺序高斯消去法求解。
相关文档
最新文档