- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2.3 高斯列主元消去法解线性方程组
一:问题的提出
我们都知道,高斯列主元素消去法是计算机上常用来求解线性方程组的一种
直接的方法。就是在不考虑舍入误差的情况下, 经过有限步的四则运算可以得到
线性方程组的准确解的一类方法。 实际运算的时候因为只能有限小数去计算, 因
此只能得到近似值。 在实际运算的时候, 我们很多时候也常用高斯消去法。 但是
高斯消去法在计算机中运算的时候常会碰到两个问题。
1. 一旦遇到某个主元等于 0 ,消元过程便无法进行下去。
2.在长期使用中还发现, 即使消元过程能进行下去, 但是当某个主元的绝对值
很小时,求解出的结果与真实结果相差甚远。
为了避免高斯消去法消元过程中出现的上述两个问题, 一般采用所谓的选择主元
法。其中又可以分为列选主元和全面选主元两种方法。 目前计算机上常用的按列
选主元的方法。因此我在这里做的也是列选主元高斯消去法。
二、算法的基本思想
大家知道,如果一个线性方程组的系数矩阵是上三角矩阵时, 即这种方程组
我们称之为上三角方程组, 它是很容易求解的。 我们只要把方程组的最下面的一
个方程求解出来, 在把求得的解带入倒数第二个方程, 求出第二个解, 依次往上
回代求解。然而,现实中大多数线性方程组都不是上面所说的上三角方程组, 所
以我们有可以把不是上三角的方程通过一定的算法化成上三角方程组, 由此我们
可以很方便地求出方程组的解。 高斯消元法的目的就是把一般线性方程组简化成
上三角方程组。 于是高斯消元法的基本思想是: 通过逐次消元将所给的线性方程
化 上三角形方程 , 而通 回代 程求解 性方程 。
三、算法的描述
1、 有 n 元 性方程 如下:
a11
K
a1n
x1
b1
M
O
M
M
= M
an 1
L
ann
xn
bn
2、
第一步:如果 a11 !=0, 令
li1 = ai1/a11, I= 2,3, ?? ,n
用( -li1 )乘第一个方程加到第 i 个方程上 ,得同解方程 :
a(1) 11
a (1)12
. . . a (1) 1n
x1
b (1) 1
a(1) 21
a (1)22
. . . a (1) 2n
x2
b (1) 2
......
.
=
.
a(1) n-11
a(1) n-12
. . a(1) n-1n
xn-1
b (1) n-1
a(1) n1
a(1) n2
. . . a (1) nn
xn
b(1) n
:
A(2) x = b (2)
其中
a(2) ij = a (1) ij –li1 * a (1) 1j , I ,j = 2,3,..,n
b (2) I = b (1) I –l i1 * b (1) 1 , I = 2,3,...,n
第二步:如果 a(2) 22 != 0, 令
li2 = a (2)i2 /a (2)22 , I= 3, ?? ,n
依据同 的原理, 矩 行化 (省略) ,依次下去,直到完成!
最后,得到上三角方程 :
a(1) 11
a(1)12
. . . a (1) 1n
x1
b (1) 1
0
a(1) 22
. . . a (1) 2n
x2
b (1) 2
......
.
=
.
0
0
. . a(n-1) n-1n
x n-1
b (n-1) n-1
0
0
. . . a (n) nn
xn
b (n) n
:
A(n) x = b (n)
最后从方程 的最后一个方程 行回代求解 :
n
= b
(n)
/ a
(n) nn
X
Xi
= ( b (k) k -
a(k)kj xj ) / a (k) kk
以上 高斯消去法的基本 程。但是如前面我 所提到的,存在的 。
1.一旦遇到某个主元等于 0 ,消元 程便无法 行下去。
2.在长期使用中还发现, 即使消元过程能进行下去, 但是当某个主元的绝对值
很小时,求解出的结果与真实结果相差甚远。 为了避免高斯消去法消元过程中出
现的上述两个问题, 一般采用所谓的选择主元法。 其中又可以分为列选主元和全
面选主元两种方法。 目前计算机上常用的按列选主元的方法。 因此我在这里做的
也是列选主元高斯消去法。 他的特点是:每次在系数矩阵中依次按列在主对角线
及以下的元素中, 选取绝对值最大的元素作为主元, 将她调到主对角线上, 然后
用它消去主对角线以下的元素, 最后化为同解的上三角形方程组去求解。 由于列
主元法相对高斯消元法来说就增加了选主元操作,其他的求解步骤是一样的。
四、程序流程图
main() 函数入口
输入矩阵的行数和列数
Matrix_getElement(array,n,m) 方程组
的系数矩阵的输入
GAUSSProcess_result(array,n,
文档评论(0)