主元数学原理:
k1由于一般线性方程在使用Gauss消去法求解时,从求解的过程中可以看到,若akk0,k1则必须进行行交换,才能使消去过程进行下去。有的时候即使akk0,但是其绝对值非
常小,由于机器舍入误差的影响,消去过程也会出现不稳定得现象,导致结果不正确。因此有必要进行列主元技术,以最大可能的消除这种现象。这一技术要寻找行r,使得
k1k1arkmaxaikik
k1并将第r行和第k行的元素进行交换,以使得当前的akk的数值比0要大的多。这种列主
元的消去法的主要步骤如下:1消元过程对k12…
1进行如下步骤。1选主元,记
arkmaxaik
ik
若ark很小,这说明方程的系数矩阵严重病态,给出警告,提示结果可能不对。2交换增广阵A的r,k两行的元素。jk…
1arjakj3计算消元
aijaijaikakjakk
2回代过程对k
1…1进行如下计算
ik1…
jk1……
1
5
f实验报告
yyhhit163com
xkak
1
至此,完成了整个方程组的求解。程序设计:本实验采用Matlab的M文件编写。Gauss消去法源程序:clearai
put输入系数阵:
bi
put输入列阵b:
le
gthbAabxzeros
1函数主体fork1
1是否进行主元选取
jk1
a
kj
xjakk
ifabsAkkyipusilo
g事先给定的认为有必要选主元的小数yzhuyua
1elsee
difyzhuyua
选主元tAkkforrk1
ifabsArkabstprelsepke
de
d交换元素ifpkforqk
1sAkqAkqApqApqse
d
6
yzhuyua
0
f实验报告
yyhhit163com
e
de
d判断系数矩阵是否奇异或病态非常严重ife
d计算消元得三角阵forrk1
mArkAkkforqk
1ArqArqAkqme
de
de
d求解xx
A
1A
fork
111s0forrk1
ssAkrxre
dtAk
1sxkAk
1sAkke
d结果分析和讨论:
26x225101420例:求解方程575y34。其中为一小数,当10101010时,321z10
absAkkyipusilo
gdisp‘矩阵奇异,解可能不正确’
分别采用列主元和不列主元的Gauss消去法求解,并比较结果。记Emax为求出的解代入方程后的最大误差,按要求,计算结果如下:当105时,不选主元和选主元的计算结果如下,其中前一列为不选主元结果,后一列为选主元结果,下同。099999934768391200000217421972299999760859451099999934782651200000217391163299999760869721
7
f实验报告
yyhhit163com
Emax93r