资源描述:
《约当消去法和高斯消去法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、约当消去法和高斯消去法的应用一、题目:求解方程组:误差分析范围为e=0.0001.二、引言线性方程组的解法大致分为直接法与迭代法两大类。迭代法的突出优点是算法简单,编程容易。但迭代法的缺点是它要求迭代过程具有收敛性,发散的迭代过程是没有实用价值的。前面我们通过对迭代法的学习,已经大致掌握了有关迭代法的基本思想,此处我们将学习解决线性方程组的另一种方法——直接法这种算法思想简单并且容易掌握,结果精确,这虽然是一种古老的算法,但用在现代计算机上仍十分有效,所以这依然是一种十分有效的解决线性方程组的一种方法,下面我们一起来学习这种算法!三、算法直接法中我们接触到的有约当消去法和高斯
2、消去法,下面我们将逐一介绍两种算法:1、约当消去法:考察一般形式的线性方程组,i=1,2,3,…,n(1)第一步,先把方程(1)中的第一个方程的的系数化为1,并从其余的方程中消去,得到方程(1)1第二步,先把方程中的第二个方程的的系数化为1,并从其余的方程中消去,得到方程(1)2第K步,先把方程中的第k个方程的的系数化为1,并从其的方程中消去,得到方程(1)K第n步,先把方程中的第n个方程的系数化为1,并从其与方程中消去。这样经过n步的消去就可以得到原方程组的解。2、高斯消去法高斯消去法包括两个过程:消去过程和回代过程(1)消去过程:第一步,把方程中的第一个方程的x(1)的系
3、数化为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),按此方式,一次将其回代,就可以得到
4、所要求的方程的解这就是高斯消去法四、程序代码及数据1、约当消去法Programfjs3implicitnoneinteger::k,i,jinteger,parameter::m=3,n=3real::a(m,n)=(/10,-1,-1,-1,10,-1,-2,-2,5/)real::b(m)=(/7.2,8.3,4.2/)dok=1,ndoj=k+1,na(k,j)=a(k,j)/a(k,k)enddob(k)=b(k)/a(k,k)doi=1,nif(i/=k)thendoj=k+1,na(i,j)=a(i,j)-a(i,k)*a(k,j)enddob(i)=b(i)-a
5、(i,k)*b(k)endifenddoenddowrite(*,*)b(1),b(2),b(3)stopend1.1000001.2000001.300000Pressanykeytocontinue1、高斯消去法programfjs3implicitnoneinteger::k,i,jinteger,parameter::m=3,n=3real::a(m,n)=(/10,-1,-1,-1,10,-1,-2,-2,5/)real::b(m)=(/7.2,8.3,4.2/)dok=1,ndoj=k+1,na(k,j)=a(k,j)/a(k,k)enddob(k)=b(k)/a
6、(k,k)doi=k+1,ndoj=k+1,na(i,j)=a(i,j)-a(i,k)*a(k,j)enddoenddodoi=k+1,nb(i)=b(i)-a(i,k)*b(k)enddoenddodoi=n-1,1,-1doj=i+1,nb(i)=b(i)-a(i,j)*b(j)enddoenddowrite(*,*)b(1),b(2),b(3)stopEnd1.1000001.2000001.300000Pressanykeytocontinue五、算法评估直接算法:优点是工作量小精度高缺点是程序复杂对于高阶矩阵,受计算机容量限制,适合与中小型方程组所以对线性方程组来说
7、,总的来说有两种计算方法,一种是迭代法另一种是消去法。遇到一个特定的问题到底用什么方法,要视情况而定。对于低阶的中小型方程组而言,一般选用消去法,而此时消去法的精度也完全可以满足问题;对于高阶方程组而言,我们一般选用迭代法,由此,针对线性方程组我们一般用此两种方法就可以解决问题。