高斯列主元消去法解线性方程组
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用−������������������乘方程组(3) 的第������ 个方程加到第 i 个方程 (������ = ������ + 1, ⋯ , ������. ),消去从������ + 1个 方程到第������个方程的未知数������������,得到方程组(1) 等价的线性方程组������(������+1)������ = ������(������+1).
⋯ ������1(1������) ⋯ ������1(2������)
⋱
������1
������1(1)
������2 ⋮
=
������2(2) ⋮
(4)
(
⋯ ���������(���������������)) (������������) (���������(���������))
如果������ ∈ ℝ������×������是非奇异矩阵(即|������| ≠ 0),且���������(���������������) ≠ 0(������ = 1,2, ⋯ , ������ − 1),求解三角形线性方程组(4),
线性方程组的数值解法
——高斯列主元消去法解线性方程组的 MATLAB 实现
班级:MATH 20XX 学号:xxxxxxxxxx 姓名:LI Wen
高斯列主元消去法解线性方程组的 MATLAB 实现
高斯列主元消去法解线性方程组的 MATLAB 实现
摘要
在自然科学和工程技术中许多问题的解决常常归结为解线性代数方程组,并且在实 际计算中很多线性方程组是无法求其精确解的,所以只能求他的数值解。而解线性方程 组的数值解法一般有两类:直接法和迭代法。其中直接法就是经过有限的算术运算,求 得线性方程解的方法。但在实际计算中由于舍入误差的存在和影响,这种方法也只能求 的线性方程组的近似解。本论文将阐述这类方法中的最基本的高斯消去法及其变形而来 的列主元消去法,并运用 MATLAB 程序来实现它。由于高斯消去法在计算的过程中,会 出现某个主元等于零的情况,从而无法计算;或主元绝对值很小的情况,也使得结果与 真实结果相差甚远。为了避免高斯消去法消元过程中出现的上述两个问题,一般在实际 计算中采用所谓的选择主元法。目前计算机上常用的是按列选主元的方法。因此本文中 做的也是列选主元高斯消去法。下面本文将详细介绍高斯消去法和列主元消去法的计算 过程,并给出列主元消去法的程序算法。
(2)
( 0 ���������(���12) ⋯ ���������(���1������)) ������������
(���������(���1))
������(2)������ = ������(2),
其中������(2),������(2)的元素个数计算公式为
{������������(���������2���(������ 2) )==������������(���������1���(������ 1))−−������������������1������1������������(���������1���(������ 1),),
⋮ (���������(���������))
简记为������(������)������ = ������(������).
设���������(���������������) ≠ 0,计算乘数 ������������������ = ���������(���������������)⁄���������(���������������) ,������ = ������ + 1, ⋯ , ������.
(5)
{
������=������+1
以上为高斯消去法的基本过程。但是如前面我们所提到的,它存在许多问题。 首先,一旦遇到某个主元���������(���������������) = 0,消元过程便无法进行下去。在长期使用中还发
现,即使消元过程能进行下去,但是当某个主元的绝对值很小时,用其做除数,会导致 其他元素的数量级严重增长和舍入误差的扩散,最后也使得结果与真实结果相差甚远。 为了避免高斯消去法消元过程中出现的上述两个问题,一般采用所谓的选择主元法。其 中又可以分为列选主元和全面选主元两种方法。目前计算机上常用的按列选主元的方法。 因此我在这里做的也是列选主元高斯消去法。他的特点是:每次在系数矩阵中依次按列 在主对角线及以下的元素中,选取绝对值最大的元素作为主元,将它调到主对角线上, 然后用它消去主对角线以下的元素,最后化为同解的上三角形方程组去求解。
三、高斯消去法的计算过程
设有线性方程组
������11������1 + ������12������2 + ⋯ + ������1������������������ = ������1
{
������21������1 ⋮
+
������22������2
+
⋯+
������2������������������
关于解线性方程组的数值解法一般有两类:直接法和迭代法。直接法就是经过有限 的算术运算,可求的线性方程组精确解的方法(若计算过程中没有舍入误差)。但在实 际计算中由于舍入误差的存在和影响,这种方法也只能求的线性方程组的近似解。本论 文将阐述这类方法中的最基本的高斯消去法及其变形而来的列主元消去法。
一、问题的提出
1)一旦遇到某个主元等于 0,消元过程便无法进行下去。 2)在长期使用中还发现,即使消元过程能进行下去,但是当某个主元的绝对值很 小时,求解出的结果与真实结果相差甚远。 为了避免高斯消去法消元过程中出现的上述两个问题,一般采用所谓的选择主元法。 其中又可以分为列选主元和全面选主元两种方法。目前计算机上常用的按列选主元的方 法。因此我在这里做的也是按列选主元高斯消去法。
得到求解公式
������������ = ������(������)⁄���������(���������������)
������
������������ = (���������(���������) − ∑ ���������(���������������) ������������)⁄���������(���������������),������ = ������ − 1, ������ − 2, ⋯ ,1.
=
������2 ⋮
(1)
������������1������1 + ������������2������2 + ⋯ + ������������������������������ = ������������
或写为矩阵形式
简记为������������ = ������.
������11 ������12 ⋯ ������1������ ������1
我们都知道,高斯列主元素消去法是计算机上常用来求解线性方程组的一种直接的 方法。就是在不考虑舍入误差的情况下,经过有限步的四则运算可以得到线性方程组的 准确解的一类方法。实际运算的时候因为只能有限小数去计算,因此只能得到近似值。 在实际运算的时候,我们很多时候也常用高斯消去法。但是高斯消去法在计算机中运算 的时候常会碰到两个问题。
������, ������ = 2,3, ⋯ , ������, ������ = 2,3, ⋯ , ������.
2)第������次消元(������ = 1,2, ⋯ , ������ − 1).
设上述第 1 步,··· ,第 k-1 步消元过程计算已经完成,即已计算好与方程组(1) 等
价的线性方程组
3)继续上述过程,且设���������(���������������) ≠ 0(������ = 1,2, ⋯ , ������ − 1),直到完成第 n-1 步消元计 算。最后得到与原方程组等价的简单方程组������(������)������ = ������(������),即
������1(11) ������1(12) ������2(22)
������(������+1), ������(������+1)元素的计算公式为
{������������(���������������(������������+���+11) )==������������(���������������(������������)���)−−������������������������������������������������(������������(���������������)���,),
关键词:线性方程组,消去法,列主元,MATLAB,数值计算
-1By Lyvnee
高斯列主元消去法解线性方程组的 MATLAB 实现
引言
在自然科学和工程技术中许多问题的解决常常归结为解线性代数方程组,例如电学 中的网络问题,船体数学放样中建立三次样条函数问题,用最小二乘法求实验数据的曲 线拟合问题,解非线性方程组问题,用差分法或者有限元法解常微分方程,偏微分方程 边值问题等都导致求解线性方程组,而且后面几种情况常常归结为求解大型线性方程组。
-3By Lyvnee
高斯列主元消去法解线性方程组的 MATLAB 实现
简记为
������1(11) ������1(12) ⋯ ������1(1������)
������1
������1(1)
0 ������2(12) ⋮⋮
⋯
������1(1������) ⋮
(���⋮���2) =
������2(1) ⋮
�����ห้องสมุดไป่ตู้, ������ = ������ + 1, ⋯ , ������, ������ = ������ + 1, ⋯ , ������.
(4)
显然������(������+1)中从第 1 行到第 k 行与������(������)相同。
-4By Lyvnee
高斯列主元消去法解线性方程组的 MATLAB 实现
二、高斯消去法的基本思想
大家知道,如果一个线性方程组的系数矩阵是上三角矩阵时,即这种方程组我们称
-2By Lyvnee
高斯列主元消去法解线性方程组的 MATLAB 实现
之为上三角方程组,它是很容易求解的。我们只要把方程组的最下面的一个方程求解出 来,在把求得的解带入倒数第二个方程,求出第二个解,依次往上回代求解。然而,现 实中大多数线性方程组都不是上面所说的上三角方程组,所以我们有可以把不是上三角 的方程通过一定的算法化成上三角方程组,由此我们可以很方便地求出方程组的解。高 斯消元法的目的就是把一般线性方程组简化成上三角方程组。于是高斯消元法的基本思 想是:通过逐次消元将所给的线性方程组化为上三角形方程组,继而通过回代过程求解 线性方程组。
������1(11)
������1(12) ������2(22)
⋯ ⋯ ⋱
������1(1������)
������2(2������) ⋮
⋯ ⋯
������1(1������)
������2(2������) ⋮
���������(���������������) ⋯ ���������(���������������)
������(1) = (���������(������1��� )) = (������������������), ������(1) = ������. 1)第一步(k = 1). 设������1(11) ≠ 0,首先计算乘数
������������1 = ���������(���11)⁄������1(11) ,������ = 2,3, ⋯ , ������. 用−������������1乘方程组(1) 的第一个方程,加到第������个(������ = 2,3, ⋯ , ������. )方程上,消去方程组(1) 的 从第 2 个方程到第������个方程的未知数������1,得到与方程组(1) 等价的线性方程组
������1
(������21 ⋮
������22 ⋮
⋯
������2������ ) ⋮
( ���⋮���2 )
=
(������⋮2 )
������������1 ������������2 ⋯ ������������������ ������������
������������
下面我们开始讨论线性方程组的高斯消去法。将方程组(1)记为������(1)������ = ������(1),其中
������1 ������2
������1(1) ������2(2)
⋮ ������������ ⋮
=
⋮ ���������(���������)
(3)
(
⋮ ���������(���������������)
…
⋮ ���������(���������������)
)
(������������)
⋯ ������1(1������) ⋯ ������1(2������)
⋱
������1
������1(1)
������2 ⋮
=
������2(2) ⋮
(4)
(
⋯ ���������(���������������)) (������������) (���������(���������))
如果������ ∈ ℝ������×������是非奇异矩阵(即|������| ≠ 0),且���������(���������������) ≠ 0(������ = 1,2, ⋯ , ������ − 1),求解三角形线性方程组(4),
线性方程组的数值解法
——高斯列主元消去法解线性方程组的 MATLAB 实现
班级:MATH 20XX 学号:xxxxxxxxxx 姓名:LI Wen
高斯列主元消去法解线性方程组的 MATLAB 实现
高斯列主元消去法解线性方程组的 MATLAB 实现
摘要
在自然科学和工程技术中许多问题的解决常常归结为解线性代数方程组,并且在实 际计算中很多线性方程组是无法求其精确解的,所以只能求他的数值解。而解线性方程 组的数值解法一般有两类:直接法和迭代法。其中直接法就是经过有限的算术运算,求 得线性方程解的方法。但在实际计算中由于舍入误差的存在和影响,这种方法也只能求 的线性方程组的近似解。本论文将阐述这类方法中的最基本的高斯消去法及其变形而来 的列主元消去法,并运用 MATLAB 程序来实现它。由于高斯消去法在计算的过程中,会 出现某个主元等于零的情况,从而无法计算;或主元绝对值很小的情况,也使得结果与 真实结果相差甚远。为了避免高斯消去法消元过程中出现的上述两个问题,一般在实际 计算中采用所谓的选择主元法。目前计算机上常用的是按列选主元的方法。因此本文中 做的也是列选主元高斯消去法。下面本文将详细介绍高斯消去法和列主元消去法的计算 过程,并给出列主元消去法的程序算法。
(2)
( 0 ���������(���12) ⋯ ���������(���1������)) ������������
(���������(���1))
������(2)������ = ������(2),
其中������(2),������(2)的元素个数计算公式为
{������������(���������2���(������ 2) )==������������(���������1���(������ 1))−−������������������1������1������������(���������1���(������ 1),),
⋮ (���������(���������))
简记为������(������)������ = ������(������).
设���������(���������������) ≠ 0,计算乘数 ������������������ = ���������(���������������)⁄���������(���������������) ,������ = ������ + 1, ⋯ , ������.
(5)
{
������=������+1
以上为高斯消去法的基本过程。但是如前面我们所提到的,它存在许多问题。 首先,一旦遇到某个主元���������(���������������) = 0,消元过程便无法进行下去。在长期使用中还发
现,即使消元过程能进行下去,但是当某个主元的绝对值很小时,用其做除数,会导致 其他元素的数量级严重增长和舍入误差的扩散,最后也使得结果与真实结果相差甚远。 为了避免高斯消去法消元过程中出现的上述两个问题,一般采用所谓的选择主元法。其 中又可以分为列选主元和全面选主元两种方法。目前计算机上常用的按列选主元的方法。 因此我在这里做的也是列选主元高斯消去法。他的特点是:每次在系数矩阵中依次按列 在主对角线及以下的元素中,选取绝对值最大的元素作为主元,将它调到主对角线上, 然后用它消去主对角线以下的元素,最后化为同解的上三角形方程组去求解。
三、高斯消去法的计算过程
设有线性方程组
������11������1 + ������12������2 + ⋯ + ������1������������������ = ������1
{
������21������1 ⋮
+
������22������2
+
⋯+
������2������������������
关于解线性方程组的数值解法一般有两类:直接法和迭代法。直接法就是经过有限 的算术运算,可求的线性方程组精确解的方法(若计算过程中没有舍入误差)。但在实 际计算中由于舍入误差的存在和影响,这种方法也只能求的线性方程组的近似解。本论 文将阐述这类方法中的最基本的高斯消去法及其变形而来的列主元消去法。
一、问题的提出
1)一旦遇到某个主元等于 0,消元过程便无法进行下去。 2)在长期使用中还发现,即使消元过程能进行下去,但是当某个主元的绝对值很 小时,求解出的结果与真实结果相差甚远。 为了避免高斯消去法消元过程中出现的上述两个问题,一般采用所谓的选择主元法。 其中又可以分为列选主元和全面选主元两种方法。目前计算机上常用的按列选主元的方 法。因此我在这里做的也是按列选主元高斯消去法。
得到求解公式
������������ = ������(������)⁄���������(���������������)
������
������������ = (���������(���������) − ∑ ���������(���������������) ������������)⁄���������(���������������),������ = ������ − 1, ������ − 2, ⋯ ,1.
=
������2 ⋮
(1)
������������1������1 + ������������2������2 + ⋯ + ������������������������������ = ������������
或写为矩阵形式
简记为������������ = ������.
������11 ������12 ⋯ ������1������ ������1
我们都知道,高斯列主元素消去法是计算机上常用来求解线性方程组的一种直接的 方法。就是在不考虑舍入误差的情况下,经过有限步的四则运算可以得到线性方程组的 准确解的一类方法。实际运算的时候因为只能有限小数去计算,因此只能得到近似值。 在实际运算的时候,我们很多时候也常用高斯消去法。但是高斯消去法在计算机中运算 的时候常会碰到两个问题。
������, ������ = 2,3, ⋯ , ������, ������ = 2,3, ⋯ , ������.
2)第������次消元(������ = 1,2, ⋯ , ������ − 1).
设上述第 1 步,··· ,第 k-1 步消元过程计算已经完成,即已计算好与方程组(1) 等
价的线性方程组
3)继续上述过程,且设���������(���������������) ≠ 0(������ = 1,2, ⋯ , ������ − 1),直到完成第 n-1 步消元计 算。最后得到与原方程组等价的简单方程组������(������)������ = ������(������),即
������1(11) ������1(12) ������2(22)
������(������+1), ������(������+1)元素的计算公式为
{������������(���������������(������������+���+11) )==������������(���������������(������������)���)−−������������������������������������������������(������������(���������������)���,),
关键词:线性方程组,消去法,列主元,MATLAB,数值计算
-1By Lyvnee
高斯列主元消去法解线性方程组的 MATLAB 实现
引言
在自然科学和工程技术中许多问题的解决常常归结为解线性代数方程组,例如电学 中的网络问题,船体数学放样中建立三次样条函数问题,用最小二乘法求实验数据的曲 线拟合问题,解非线性方程组问题,用差分法或者有限元法解常微分方程,偏微分方程 边值问题等都导致求解线性方程组,而且后面几种情况常常归结为求解大型线性方程组。
-3By Lyvnee
高斯列主元消去法解线性方程组的 MATLAB 实现
简记为
������1(11) ������1(12) ⋯ ������1(1������)
������1
������1(1)
0 ������2(12) ⋮⋮
⋯
������1(1������) ⋮
(���⋮���2) =
������2(1) ⋮
�����ห้องสมุดไป่ตู้, ������ = ������ + 1, ⋯ , ������, ������ = ������ + 1, ⋯ , ������.
(4)
显然������(������+1)中从第 1 行到第 k 行与������(������)相同。
-4By Lyvnee
高斯列主元消去法解线性方程组的 MATLAB 实现
二、高斯消去法的基本思想
大家知道,如果一个线性方程组的系数矩阵是上三角矩阵时,即这种方程组我们称
-2By Lyvnee
高斯列主元消去法解线性方程组的 MATLAB 实现
之为上三角方程组,它是很容易求解的。我们只要把方程组的最下面的一个方程求解出 来,在把求得的解带入倒数第二个方程,求出第二个解,依次往上回代求解。然而,现 实中大多数线性方程组都不是上面所说的上三角方程组,所以我们有可以把不是上三角 的方程通过一定的算法化成上三角方程组,由此我们可以很方便地求出方程组的解。高 斯消元法的目的就是把一般线性方程组简化成上三角方程组。于是高斯消元法的基本思 想是:通过逐次消元将所给的线性方程组化为上三角形方程组,继而通过回代过程求解 线性方程组。
������1(11)
������1(12) ������2(22)
⋯ ⋯ ⋱
������1(1������)
������2(2������) ⋮
⋯ ⋯
������1(1������)
������2(2������) ⋮
���������(���������������) ⋯ ���������(���������������)
������(1) = (���������(������1��� )) = (������������������), ������(1) = ������. 1)第一步(k = 1). 设������1(11) ≠ 0,首先计算乘数
������������1 = ���������(���11)⁄������1(11) ,������ = 2,3, ⋯ , ������. 用−������������1乘方程组(1) 的第一个方程,加到第������个(������ = 2,3, ⋯ , ������. )方程上,消去方程组(1) 的 从第 2 个方程到第������个方程的未知数������1,得到与方程组(1) 等价的线性方程组
������1
(������21 ⋮
������22 ⋮
⋯
������2������ ) ⋮
( ���⋮���2 )
=
(������⋮2 )
������������1 ������������2 ⋯ ������������������ ������������
������������
下面我们开始讨论线性方程组的高斯消去法。将方程组(1)记为������(1)������ = ������(1),其中
������1 ������2
������1(1) ������2(2)
⋮ ������������ ⋮
=
⋮ ���������(���������)
(3)
(
⋮ ���������(���������������)
…
⋮ ���������(���������������)
)
(������������)