Gauss列主元消去法程序設計_第1頁
Gauss列主元消去法程序設計_第2頁
Gauss列主元消去法程序設計_第3頁
Gauss列主元消去法程序設計_第4頁
免費預覽已結束,剩余4頁可下載查看

付費下載

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、Gauss 列主元消去法實驗報告實驗名稱: Gauss列主元消去法程序設計成績: _專業班級:數學與應用數學1202 班姓名:王曉陽學號:實驗日期:2014年11月10日實驗報告日期:2014 年11月 10日一實驗目的1. 學習 Gauss 消去法的基本思路和迭代步驟 .2. 學會運用 matlab 編寫高斯消去法和列主元消去法程序, 求解線性方程組 .3. 當 akk k 絕對值較小時,采用高斯列主元消去法.4. 培養編程與上機調試能力 .二、實驗內容用消去法解線性方程組的基本思想是用逐次消去未知數的方法把原線性方程組 Ax b 化為與其等價的三角形線性方程組, 而求解三角形線性方程組可用

2、回代的方法求解 .1. 求解一般線性方程組的高斯消去法.(1) 消元過程:設 akkk0 ,第 i 個方程減去第 k 個方程的 mikaikk / akkk 倍,(i k 1,n) ,得到 A k 1 x b k 1 .aijk 1aijkmik akjk , i , j k 1, , nbik 1bikmik bkk經過 n-1 次消元,可把方程組A 1 xb 1 化為上三角方程組A n xb n .(2) 回代過程:xnbn n/ ann nini xj / aiii , i n 1, ,1xibiaijj i1以解如下線性方程組為例測試結果.10x17 x273x12x26x345x1x

3、25x362. 列主元消去法由高斯消去法可知,在消元過程中可能出現akk k0 的情況,這是消去法將k無法進行,即使主元素akk0 但很小時,用其作除數,會導致其他元素數量級的嚴重增長和舍入誤差的擴散,最后也使得計算解不可靠. 這時就需要選取主元素,假定線性方程組的系數矩陣A 是菲奇異的 .(1) 消元過程:對于 k1,2, n1 ,進行如下步驟:1) 按列選主元,記apkmax aikkin2) 交換增廣陣 A 的 p,k 兩行的元素。A(k,j)=A(p,j) (j=k, ,n +1)3) 交換常數項 b 的 p,k 兩行的元素。b(k)=b(p)4) 計算消元aijk 1aijkmik

4、akjk , i , j k 1, , nbik 1kkbimik bk(2) 回代過程xnbn n/ ann nini xj / aiii , i n 1, ,1xibiaijj i 1(3) 以解如下線性方程組為例測試結果 .0.00001x1x212x1x22三、實驗環境MATLAB R2014a四、實驗步驟1. 高斯列主元消去法流程圖:開始輸入系數陣a和常數項b按列選主元交換元素計算消元回代輸出線性方程組的解結束2. 程序設計:( 一) 高斯消去法:a=input( ' 請輸入系數陣: ' );b=input( ' 請輸入常數項: ' );n=lengt

5、h(b);A=a,b;x=zeros(n,1);%初始值for k=1:n-1for i=k+1:n%第 k次消元m(i,k)=A(i,k)/A(k,k);for j=k+1:nA(i,j)=A(i,j)-A(k,j)*m(i,k);endb(i)=b(i)-m(i,k)*b(k);endendx(n)=b(n)/A(n,n);%回代for i=n-1:-1:1;s=0;for j=i+1:n;s=s+A(i,j)*x(j);endx(i)=(b(i)-s)/A(i,i)end( 二) 高斯列主元消去法:a=input(b=input(' 請輸入系數陣: ' );' 請

6、輸入常數項: ' );n=length(b);A=a,b;x=zeros(n,1);%初始值for k=1:n-1ifabs(A(k,k)<10(-4);%判斷是否選主元y=1elsey=0;endify;%選主元for i=k+1:n;ifabs(A(i,k)>abs(A(k,k)p=i;else p=k;endendifp=k;for j=k:n+1;s=A(k,j);A(k,j)=A(p,j);%交換系數A(p,j)=s;endt=b(k);b(k)=b(p);%交換常數項b(p)=t;endendfor i=k+1:nm(i,k)=A(i,k)/A(k,k);for

7、 j=k+1:nA(i,j)=A(i,j)-A(k,j)*m(i,k);endb(i)=b(i)-m(i,k)*b(k);endendx(n)=b(n)/A(n,n);%回代for i=n-1:-1:1;%第k次消元s=0;for j=i+1:n;s=s+A(i,j)*x(j);endx(i)=(b(i)-s)/A(i,i)end五、實驗結果Gauss1請輸入系數陣: 10,-7,0;-3,2,6;5,-1,5請輸入常數項: 7;4;6x =0-1.00001.0000x =-0.0000-1.00001.0000X=(0,-1 , 1)Gauss2請輸入系數陣: 10(-5),1;2,1請輸入常數項: 1;2y =1x =0.50001.0000X=(0.5 ,1)六、實驗討論、結論本實驗通過matlab程序編程實現了高斯消去法及高斯列主元消去法的求解,能加深對高斯消去法基本思路與計算步驟的理解。當主元素特別小時, 需要選取主元,否則會影響結果,這時就需要采用高斯列主元消去法。七、 參考資料1

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論