当前位置:
文档之家› 高斯列主元消去法解线性方程组
高斯列主元消去法解线性方程组
������1(11)
������1(12) ������2(22)
⋯ ⋯ ⋱
������1(1������)
������2(2������) ⋮
⋯ ⋯
������1(1������)
������2(2������) ⋮
���������(���������������) ⋯ ���������(���������������)
=
������2 ⋮
(1)
������������1������1 + ������������2������2 + ⋯ + ������������������������������ = ������������
或写为矩阵形式
简记为������������ = ������.
������11 ������12 ⋯ ������1������ ������1
(5)
{
������=������+1
以上为高斯消去法的基本过程。但是如前面我们所提到的,它存在许多问题。 首先,一旦遇到某个主元���������(���������������) = 0,消元过程便无法进行下去。在长期使用中还发
现,即使消元过程能进行下去,但是当某个主元的绝对值很小时,用其做除数,会导致 其他元素的数量级严重增长和舍入误差的扩散,最后也使得结果与真实结果相差甚远。 为了避免高斯消去法消元过程中出现的上述两个问题,一般采用所谓的选择主元法。其 中又可以分为列选主元和全面选主元两种方法。目前计算机上常用的按列选主元的方法。 因此我在这里做的也是列选主元高斯消去法。他的特点是:每次在系数矩阵中依次按列 在主对角线及以下的元素中,选取绝对值最大的元素作为主元,将它调到主对角线上, 然后用它消去主对角线以下的元素,最后化为同解的上三角形方程组去求解。
用−������������������乘方程组(3) 的第������ 个方程加到第 i 个方程 (������ = ������ + 1, ⋯ , ������. ),消去从������ + 1个 方程到第������个方程的未知数������������,得到方程组(1) 等价的线性方程组������(������+1)������ = ������(������+1).
关键词:线性方程组,消去法,列主元,MATLAB,数值计算
-1By Lyvnee
高斯列主元消去法解线性方程组的 MATLAB 实现
引言
在自然科学和工程技术中许多问题的解决常常归结为解线性代数方程组,例如电学 中的网络问题,船体数学放样中建立三次样条函数问题,用最小二乘法求实验数据的曲 线拟合问题,解非线性方程组问题,用差分法或者有限元法解常微分方程,偏微分方程 边值问题等都导致求解线性方程组,而且后面几种情况常常归结为求解大型线性方程组。
������(1) = (���������(������1��� )) = (������������������), ������(1) = ������. 1)第一步(k = 1). 设������1(11) ≠ 0,首先计算乘数
������������1 = ���������(���11)⁄������1(11) ,������ = 2,3, ⋯ , ������. 用−������������1乘方程组(1) 的第一个方程,加到第������个(������ = 2,3, ⋯ , ������. )方程上,消去方程组(1) 的 从第 2 个方程到第������个方程的未知数������1,得到与方程组(1) 等价的线性方程组
三、高斯消去法的计算过程
设有线性方程组
������11������1 + ������12������2 + ⋯ + ������1������������������ = ������1
{
������21������1 ⋮
+
������22������2
+
Байду номын сангаас⋯+
������2������������������
得到求解公式
������������ = ������(������)⁄���������(���������������)
������
������������ = (���������(���������) − ∑ ���������(���������������) ������������)⁄���������(���������������),������ = ������ − 1, ������ − 2, ⋯ ,1.
-3By Lyvnee
高斯列主元消去法解线性方程组的 MATLAB 实现
简记为
������1(11) ������1(12) ⋯ ������1(1������)
������1
������1(1)
0 ������2(12) ⋮⋮
⋯
������1(1������) ⋮
(���⋮���2) =
������2(1) ⋮
⋮ (���������(���������))
简记为������(������)������ = ������(������).
设���������(���������������) ≠ 0,计算乘数 ������������������ = ���������(���������������)⁄���������(���������������) ,������ = ������ + 1, ⋯ , ������.
3)继续上述过程,且设���������(���������������) ≠ 0(������ = 1,2, ⋯ , ������ − 1),直到完成第 n-1 步消元计 算。最后得到与原方程组等价的简单方程组������(������)������ = ������(������),即
������1(11) ������1(12) ������2(22)
⋯ ������1(1������) ⋯ ������1(2������)
⋱
������1
������1(1)
������2 ⋮
=
������2(2) ⋮
(4)
(
⋯ ���������(���������������)) (������������) (���������(���������))
如果������ ∈ ℝ������×������是非奇异矩阵(即|������| ≠ 0),且���������(���������������) ≠ 0(������ = 1,2, ⋯ , ������ − 1),求解三角形线性方程组(4),
������, ������ = 2,3, ⋯ , ������, ������ = 2,3, ⋯ , ������.
2)第������次消元(������ = 1,2, ⋯ , ������ − 1).
设上述第 1 步,··· ,第 k-1 步消元过程计算已经完成,即已计算好与方程组(1) 等
价的线性方程组
������(������+1), ������(������+1)元素的计算公式为
{������������(���������������(������������+���+11) )==������������(���������������(������������)���)−−������������������������������������������������(������������(���������������)���,),
������1 ������2
������1(1) ������2(2)
⋮ ������������ ⋮
=
⋮ ���������(���������)
(3)
(
⋮ ���������(���������������)
…
⋮ ���������(���������������)
)
(������������)
1)一旦遇到某个主元等于 0,消元过程便无法进行下去。 2)在长期使用中还发现,即使消元过程能进行下去,但是当某个主元的绝对值很 小时,求解出的结果与真实结果相差甚远。 为了避免高斯消去法消元过程中出现的上述两个问题,一般采用所谓的选择主元法。 其中又可以分为列选主元和全面选主元两种方法。目前计算机上常用的按列选主元的方 法。因此我在这里做的也是按列选主元高斯消去法。
二、高斯消去法的基本思想
大家知道,如果一个线性方程组的系数矩阵是上三角矩阵时,即这种方程组我们称
-2By Lyvnee
高斯列主元消去法解线性方程组的 MATLAB 实现
之为上三角方程组,它是很容易求解的。我们只要把方程组的最下面的一个方程求解出 来,在把求得的解带入倒数第二个方程,求出第二个解,依次往上回代求解。然而,现 实中大多数线性方程组都不是上面所说的上三角方程组,所以我们有可以把不是上三角 的方程通过一定的算法化成上三角方程组,由此我们可以很方便地求出方程组的解。高 斯消元法的目的就是把一般线性方程组简化成上三角方程组。于是高斯消元法的基本思 想是:通过逐次消元将所给的线性方程组化为上三角形方程组,继而通过回代过程求解 线性方程组。
我们都知道,高斯列主元素消去法是计算机上常用来求解线性方程组的一种直接的 方法。就是在不考虑舍入误差的情况下,经过有限步的四则运算可以得到线性方程组的 准确解的一类方法。实际运算的时候因为只能有限小数去计算,因此只能得到近似值。 在实际运算的时候,我们很多时候也常用高斯消去法。但是高斯消去法在计算机中运算 的时候常会碰到两个问题。
关于解线性方程组的数值解法一般有两类:直接法和迭代法。直接法就是经过有限 的算术运算,可求的线性方程组精确解的方法(若计算过程中没有舍入误差)。但在实 际计算中由于舍入误差的存在和影响,这种方法也只能求的线性方程组的近似解。本论 文将阐述这类方法中的最基本的高斯消去法及其变形而来的列主元消去法。