约当消去法和高斯消去法.docx

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

约当消去法和高斯消去法的应用

一、 题目:

求解方程组:

10x一x一2x=7.2

<-x+10x-2x=8.3

一x—x+5x=4.2

I1 2 3

误差分析范围为e=0.0001.

二、 引言

线性方程组的解法大致分为直接法与迭代法两大类。迭代法的突出优点是算法简单,编程容易。但迭代法的缺点是它要求迭代过程具有收敛性,发散的迭代过程是没有实用价值的。

前面我们通过对迭代法的学习,已经大致掌握了有关迭代法的基本思想,此处我们将学习解决线性方程组的另一种方法一一直接法

这种算法思想简单并且容易掌握,结果精确,这虽然是一种古老的算法,但用在现代计算机上仍十分有效,所以这依然是一种十分有效的解决线性方程组的一种方法,下面我们一起来学习这种算法!

三、 算法

直接法中我们接触到的有约当消去法和高斯消去法,下面我们将逐一介绍两种算法:

1、 约当消去法:

考察一般形式的线性方程组

^ax=b,i=1,2,3,…,n (1)

j=1

第一步,先把方程(1)中的第一个方程的七的系数化为1,并从其

余的方程中消去七,得到方程(1)1

第二步,先把方程中的第二个方程的X2的系数化为1,并从其余的方

程中消去x2,得到方程(1)2

第K步,先把方程中的第k个方程的x*的系数化为1,并从其的

方程中消去xk,得到方程(1)K

第n步,先把方程中的第n个方程的xn系数化为1,并从其与方程中消去xn。这样经过n步的消去就可以得到原方程组的解。

2、高斯消去法

高斯消去法包括两个过程:消去过程和回代过程

(1)消去过程:

第一步,把方程中的第一个方程的x(1)的系数化为1,并从

其余方程中的x1消去,得到新的方程(1)1

第二步,把方程(1)1中的第二个方程的x(2)的系数化为1,

从第三个方程开始一直到第n个方程中消去x(2)得到新的方程

(1)2

第k步,把方程(1)k-1中的第k个方程中的x(k)的系数化为

1,并且从k+1个方程开始一直到第n个方程中消去x(k),得到

新的方程(1)k

第n步,把方程(1)n-1中的第n个方程的x(n)的系数化为1,

得到新的方程(1)n这样,通过n步转化就可以得到x(n)的值

(2)回代过程:

由(1)n方程得到x(n)的值,再把x(n)带回到方程(1)n-1中

得到x(n-2),按此方式,一次将其回代,就可以得到所要求

的方程的解

这就是高斯消去法

四、程序代码及数据

1、约当消去法

Programfjs3

implicitnone

integer::k,i,j

integer,parameter::m=3,n=3

real::a(m,n)=(/10,-1,-1,-1,10,-1,-2,-2,5/)

real::b(m)=(/7.2,8.3,4.2/)

dok=1,n

doj=k+1,n

a(k,j)=a(k,j)/a(k,k)

enddo

b(k)=b(k)/a(k,k)

doi=1,n

if(i/=k)then

doj=k+1,n

a(i,j)=a(i,j)-a(i,k)*a(k,j)

enddo

b(i)=b(i)-a(i,k)*b(k)

endif

enddo

enddo

write(*,*)b(1),b(2),b(3)

stop

end

1.100000 1.200000 1.300000

Pressanykeytocontinue

2、高斯消去法

programfjs3

implicitnone

integer::k,i,j

integer,parameter::m=3,n=3

real::a(m,n)=(/10,-1,-1,-1,10,-1,-2,-2,5/)

real::b(m)=(/7.2,8.3,4.2/)

dok=1,n

doj=k+1,n

a(k,j)=a(k,j)/a(k,k)enddo

b(k)=b(k)/a(k,k)doi=k+1,n

doj=k+1,n

a(i,j)=a(i,j)-a(i,k)*a(k,j)

enddo

enddo

doi=k+1,n

b(i)=b(i)-a(i,k)*b(k)

enddo

enddo

doi=n-1,1,-1

doj=i+1,n

b(i)=b(i)-a(i,j)*b(j)

enddo

enddo

write(*,*)b(1),b(2),b(3)

stop

End

1.100000 1.200000 1.300000

Pressanykeytocontinue

五、算法评估

直接算法:优点是工作量小精度高

缺点是程序复杂对于高阶矩阵,受计算机容量限制,适合

与中小型方程组

所以对线性方程组来说

文档评论(0)

zhuwo + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档