資源描述:
《三高斯列主元消去法》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫(kù)。
1、實(shí)驗(yàn)三高斯列主元消去法一、實(shí)驗(yàn)?zāi)康模?、掌握高斯消去法的基本思路和迭代步驟。2、培養(yǎng)編程與上機(jī)調(diào)試能力。二、高斯列主元消去法的基本思路與計(jì)算步驟:設(shè)有方程組,設(shè)是可逆矩陣。高斯消去法的基本思想就是僵局真的初等行變換作用于方程組的增廣矩陣,將其中的變換成一個(gè)上三角矩陣,然后求解這個(gè)三角形方程組。列主元高斯消去法計(jì)算步驟:將方程組用增廣矩陣表示。步驟1:消元過(guò)程,對(duì)(1)選主元,找使得(2)如果,則矩陣奇異,程序結(jié)束;否則執(zhí)行(3)。(3)如果,則交換第行與第行對(duì)應(yīng)元素位置,,。(4)消元,對(duì),計(jì)算對(duì),計(jì)算步驟2:回代過(guò)程:(1)若則矩陣奇異,程序
2、結(jié)束;否則執(zhí)行(2)。(2)對(duì),計(jì)算三:程序流程圖開(kāi)始設(shè)置方程組的參數(shù)矩陣A,結(jié)果矩陣b代入uptrbk(A,b)函數(shù)調(diào)用backsub(A,b)函數(shù)進(jìn)行回代程序自動(dòng)進(jìn)行計(jì)算輸出方程組的解結(jié)束四:程序清單:functionX=uptrbk(A,b)%A是一個(gè)n階矩陣。%b是一個(gè)n維向量。%X是線性方程組AX=b的解。[NN]=size(A);X=zeros(1,N+1);Aug=[Ab];forp=1:N-1[Y,j]=max(abs(Aug(p:N,p)));%返回向量的最大值存入y,最大值的序號(hào)存入j。C=Aug(p,:);Aug(p,:)
3、=Aug(j+p-1,:);Aug(j+p-1,:)=C;ifAug(p,p)==0'A是奇異陣,方程無(wú)惟一解'breakendfork=p+1:Nm=Aug(k,p)/Aug(p,p);Aug(k,p:N+1)=Aug(k,p:N+1)-m*Aug(p,p:N+1);endend%這里用到程序函數(shù)backsub來(lái)進(jìn)行回代。X=backsub(Aug(1:N,1:N),Aug(1:N,N+1));functionX=backsub(A,b)%A是一個(gè)n階上三角非奇異陣。%b是一個(gè)n維向量。%X是線性方程組AX=b的解。n=length(b);%
4、取b向量的個(gè)數(shù)。X=zeros(n,1);X(n)=b(n)/A(n,n);fork=n-1:-1:1X(k)=(b(k)-A(k,k+1:n)*X(k+1:n))/A(k,k);End五、測(cè)試數(shù)據(jù)與結(jié)果:測(cè)試數(shù)據(jù):(第8章習(xí)題三第2題)求解線性方程組:解:建立一個(gè)主程序gs.mclcclearA=[1,2,3;5,4,10;3,-0.1,1];b=[1;0;2];uptrbk(A,b)然后在MATLAB命令窗口運(yùn)行上述主程序,即:>>gs計(jì)算結(jié)果如下:ans=1.20002.0000-1.4000六、小結(jié)本實(shí)驗(yàn)通過(guò)MATLAB程序編程實(shí)現(xiàn)了高
5、斯列主元消去法的求解,能加深對(duì)高斯列主元消去法的基本思路與計(jì)算步驟的理解。主元消去法解決了主元素的選擇問(wèn)題,避免主元素很小導(dǎo)致舍入誤差擴(kuò)散和其他元素的嚴(yán)重增長(zhǎng),這就使算法具有較好的數(shù)值穩(wěn)定性。