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