資源描述:
《約當(dāng)消去法和高斯消去法》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、約當(dāng)消去法和高斯消去法的應(yīng)用一、題目:求解方程組:誤差分析范圍為e=0.0001.二、引言線性方程組的解法大致分為直接法與迭代法兩大類。迭代法的突出優(yōu)點是算法簡單,編程容易。但迭代法的缺點是它要求迭代過程具有收斂性,發(fā)散的迭代過程是沒有實用價值的。前面我們通過對迭代法的學(xué)習(xí),已經(jīng)大致掌握了有關(guān)迭代法的基本思想,此處我們將學(xué)習(xí)解決線性方程組的另一種方法——直接法這種算法思想簡單并且容易掌握,結(jié)果精確,這雖然是一種古老的算法,但用在現(xiàn)代計算機上仍十分有效,所以這依然是一種十分有效的解決線性方程組的一種方法,下面我們一起來學(xué)習(xí)這種算法!三、算法直接法中我們接觸到的有約當(dāng)消去法和高斯
2、消去法,下面我們將逐一介紹兩種算法:1、約當(dāng)消去法:考察一般形式的線性方程組,i=1,2,3,…,n(1)第一步,先把方程(1)中的第一個方程的的系數(shù)化為1,并從其余的方程中消去,得到方程(1)1第二步,先把方程中的第二個方程的的系數(shù)化為1,并從其余的方程中消去,得到方程(1)2第K步,先把方程中的第k個方程的的系數(shù)化為1,并從其的方程中消去,得到方程(1)K第n步,先把方程中的第n個方程的系數(shù)化為1,并從其與方程中消去。這樣經(jīng)過n步的消去就可以得到原方程組的解。2、高斯消去法高斯消去法包括兩個過程:消去過程和回代過程(1)消去過程:第一步,把方程中的第一個方程的x(1)的系
3、數(shù)化為1,并從其余方程中的x1消去,得到新的方程(1)1第二步,把方程(1)1中的第二個方程的x(2)的系數(shù)化為1,從第三個方程開始一直到第n個方程中消去x(2)得到新的方程(1)2第k步,把方程(1)k-1中的第k個方程中的x(k)的系數(shù)化為1,并且從k+1個方程開始一直到第n個方程中消去x(k),得到新的方程(1)k第n步,把方程(1)n-1中的第n個方程的x(n)的系數(shù)化為1,得到新的方程(1)n這樣,通過n步轉(zhuǎn)化就可以得到x(n)的值(2)回代過程:由(1)n方程得到x(n)的值,再把x(n)帶回到方程(1)n-1中得到x(n-2),按此方式,一次將其回代,就可以得到
4、所要求的方程的解這就是高斯消去法四、程序代碼及數(shù)據(jù)1、約當(dāng)消去法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五、算法評估直接算法:優(yōu)點是工作量小精度高缺點是程序復(fù)雜對于高階矩陣,受計算機容量限制,適合與中小型方程組所以對線性方程組來說
7、,總的來說有兩種計算方法,一種是迭代法另一種是消去法。遇到一個特定的問題到底用什么方法,要視情況而定。對于低階的中小型方程組而言,一般選用消去法,而此時消去法的精度也完全可以滿足問題;對于高階方程組而言,我們一般選用迭代法,由此,針對線性方程組我們一般用此兩種方法就可以解決問題。