列主消元法課程設計_第1頁
列主消元法課程設計_第2頁
列主消元法課程設計_第3頁
列主消元法課程設計_第4頁
列主消元法課程設計_第5頁
已閱讀5頁,還剩11頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、數值分析課程設計列主消元法解方程組院(系)名稱 信息工程學院 專 業 班 級學 號學 生 姓 名指 導 教 師2013 年 05 月 31日 數值分析 課程設計評閱書題目列主消元法解方程組學生姓名學號指導教師評語及成績指導教師簽名: 年 月 日答辯評語及成績答辯教師簽名: 年 月 日教研室意見總成績: 教研室主任簽名:年 月 日課程設計任務書20122013學年第二學期專業班級:學號: 姓名:課程設計名稱: 數值分析、設計題目:列主消元法解方程組 完成期限:自 2013年 05月 21 日至2013年05 月31日共 10天設計依據、要求及主要內容:一、設計目的 熟練掌握求解方程組的列主消元法

2、,并應用Matlab軟件編寫列主消元法解方程組的程序,應用列主消元法求解線性方程組.二、設計內容 (1) 掌握列主消元法的背景及其構造原理;(2) 編寫列主元高斯消去法和列主消元法的Matlab程序;(3) 調用編寫的函數求解方程組;(4) 通過所學知識對列主消元法有一個充分的認識并對該課程設計進行總結.三、設計要求1了解列主消元法的背景及構造原理.2正確編寫列主消元法的MATLAB程序并調用求解方程組.3. 對列主消元法求解方程組有一個充分認識,并進行總結. 計劃答辯時間:2013年 06 月 5 日工作任務與工作量要求:查閱文獻資料不少于3篇,課程設計報告1篇不少于3000字指導教師(簽字

3、): 教研室主任(簽字):批準日期: 2013 年 05 月 20 日列主消元法解方程組摘要在自然科學和工程中有很多問題的解決歸結為求解線性方程組或者非線性方程組的數學問題。求解線性方程組的直接法主要有選主元高斯消去法、平方根法、追趕法等.列主元素消去法既是選主元高斯消去法的一種,也是實際計算中常用的部分選主元消去法.本文即是討論利用列主元素消去法求解線性方程組問題.通過掌握的列主消元法的背景及構造原理,編寫MATLAB程序并調用函數成功求解線性方程組.并對其結果進行分析與討論,得到結果比之高斯法更為精確.關鍵詞:列主消元法,MATLAB,線性方程組目 錄1 前 言12 列主元消去法的背景13

4、 列主元消去法的構造原理23.1 列主高斯消元法44 MATLAB程序實現54.1 列主高斯消元法75算法分析9總結10參考文獻101 前言在科學研究和工程技術中有許多問題可歸結為求解線性代數方程組,其中所產生的線性方程組,其系數矩陣大致可分為兩種:一種是低階稠密矩陣;另一類是大型稀疏矩陣(此類矩陣階數高,但零元素較多).對于這兩種矩陣,我們可以把線性代數方程組的數值解法大致的分為兩類:直接法和迭代法。迭代法一般用來求解大型稀疏矩陣方程組(本文不予討論);直接法是目前計算機上解低階稠密矩陣的有效方法,如果計算過程中沒有舍入誤差,則此種方法通過有限步四則運算可求的方程組的精確解,但實際計算中由于

5、舍入誤差的存在和影響,這種方法也只能求得方程組的近似解.直接法主要有選主元素高斯消去法、平方根法、追趕法等。本文所要討論的列主元素消去法就是選主元素高斯消去法中的一種.2列主元消去法的背景高斯消去法是一個古老的求解線性方程組的方法,也是解線性方程組問題中較為常見的一種數值方法。但在采取高斯消去法解方程組時,當采用絕對值很小的主元素時,可能導致計算結果的失敗,故在消去法中應避免采用絕對值很小的主元素。對于一般的線性方程組,需要引進選主元的技巧,即在高斯消去法的每一步應該在系數矩陣或消元后的低價矩陣中選取絕對值最大的元素作為主元素,保持乘數 ,以便減少計算過程中舍入誤差對計算解的影響.選主元素消元

6、法則是對高斯消去法的改進,是解低價稠密矩陣方程組的有效方法。選主元素消元法則避免了采用絕對值很小的主元素.選主元素消去法主要有完全主元素消去法與列主元素消去法兩種。完全主元素消去法即是每次按行列選取絕對值最大的元素作為主元素,進行行列交換,之后再完成消元計算.在完全主元素消去法計算過程中舍入誤差能得到有效的控制,對計算的影響較小,具有更好的數值穩定性.列主元素消去法則是對完全主元素消去法的又一次改進。列主元素消去法在完全主元素消去法的基礎上減少了在選主元素時所要花費的一定的計算時間.此論文將介紹列主元消去法的基本思想和原理.3列主元消去法的構造原理設有線性方程組其中,為非奇異矩陣.方程組的增廣

7、矩陣為:首先在的第1列選取絕對值最大的元素作為主元素,即選擇然后交換的第1行與第行(交換后增廣矩陣為簡單起見仍記為,其元素仍記為).經過第1次消元計算得到與原方程組等價的方程組:其中 上述過程可記為 :重復上述計算過程,現假設已完成第k-1步的選主元素過程,交換兩行并進行消元計此時約化為:其中的元素仍記為,的元素仍記為.第k步選主元素(在右下角方陣的第1列內選),即確定,使交換第行與行的元素,再進行消元計算,最后將原線性方程組化為:回代可求解得:算法描述:對于k=1,2,.n-1做到(4).(1)按列選主元,即確定使(2)如果,則A為奇異矩陣,停止計算.(3)如果,則交換第行與第k行元素.(4

8、)消元計算:(5)回代計算: 3.1列主元高斯消去法設有線性方程組Ax=b,其中設A為非奇異矩陣。方程組的增廣矩陣為:第1步(k=1):首先在A的第一列中選取絕對值最大的元素,作為第一步的主元素:然后交換(A,b)的第1行與第l行元素,再進行消元計算。設列主元素消去法已經完成第1步到第k-1步的按列選主元,交換兩行,消元計算得到與原方程組等價的方程組 A(k)x=b(k) 第k步計算如下: 對于k=1,2,n-1 (1)按列選主元:即確定t使(2)如果tk,則交換A,b第t行與第k行元素。 (3)消元計算 :消元乘數mik滿足:|(4)回代求解:4通過計算機利用列主元素消去法求解線性方程組計算

9、機在科學和工程設計中應用日益廣泛.把科學和工程設計中的具體問題抽象為數學問題,建立起能描述并等價代替該實際問題的數學問題,編制出計算機程序,就能夠使得復雜問題得到妥善的解決.下面及描述列主元消去法的程序過程.對于已給定的,其程序框圖如下:輸入n, ,按列選主元否換行否消元計算是是輸出停 機回代求解 (當)輸出計算解及行列式值及det停 機(注:為矩陣的行數;為輸入的一精度,用于判斷的行列式是否約等于0)4.1 列主高斯消元法主程序如下:function RA,RB,n,x=gaus(A,b) %列主高斯消元法求解Ax=b.%A為方程組所構成的矩陣.%b為方程組的結構構成的列矩陣.B=A,b;%

10、B為增廣矩陣.n=length(b); %n為矩陣b的長度.RA=rank(A); %RA為矩陣A的秩.RB=rank(B); %RB為矩陣B的秩.zhicha=RB-RA;if zhicha>0 %利用B的秩與A的秩之差判斷方程組有無解 disp('因為RA=RB,所以方程無解') returnendif RA=RB%系數矩陣的秩等于增廣矩陣的秩 if RA=n disp('因為RA=RB=n.所以方程有唯一解.')%系數矩陣的秩(增廣矩陣的秩)等于未知量的個數 x=zeros(n,1); c=zeros(1,n+1); for p=1:n-1 for

11、k=p+1:n l=B(k,p)/B(p,p); B(k,p:n+1)=B(k,p:n+1)-l*B(p,p:n+1); %將B化為階梯型 end end b=B(1:n,n+1); A=B(1:n,1:n); x(n)=b(n)/A(n,n); for q=n-1:-1:1 x(q)=(b(q)-sum(A(q,q+1:n)*x(q+1:n)/A(q,q);%回代過程(在消元過程中一次利用后一方程的解代入前一方程將解逐個解求出的過程) end else disp('因為RA=RB<n.所以方程有無窮解.') endend使用主程序求解方程組,例如:上述例題,調用函數求解

12、:A=1 -1 1 -3;0 -1 -1 1;2 -2 -4 6;1 -2 -4 1;b=1 0 -1 -1'RA,RB,n,x=gaus(A,b)結果如下:因為RA=RB=n.所以方程有唯一解.RA= 4RB= 4n= 4x= 0 -0.5000 0.5000 0列主元消去法具有較高的計算精度,可以有效地減少運行過程中帶來的誤差。5 算法分析列主高斯消元法是高斯消去法的改進,高斯消去法的主要思路是將系數矩陣A化為上三角矩陣,然后回代求解.高斯消元法簡單易行,且計算量較小,但順序高斯消去法只適用于從1到n-1階順序主子式均不為0的矩陣A,當主元素為0時,順序高斯消去法不能進行;且出現小

13、主元時,會嚴重影響計算結果的精度們甚至導出錯誤的結果.例如:用高斯消去法求解,則消元過程矩陣表示為:回代求解得:=0.5000,=0.0000比較準確解:=0.499998.,=0.250001比較嚴重失真.而列主元高斯消元法比之普通的高斯消去法要多一些比較運算,但是比普通的高斯消去法要穩定的多.所以列主元高斯消去法是目前直接發的所選算法.總 結通過一段時間的不懈努力,數值分析課程設計終于完成通過這次課程設計,我收獲了很多,也學習很多在設計過程中,使我把理論的知識與實踐結合到了一起,達到了理論與實踐的結合此外,也提高了自己的動手能力在程序編譯過程中一直都有出錯,通過查找資料,并通過MATLAB

14、編譯程序也經常出錯,不過經過兩天努力也終于得到了有效且正確的程序.而在這過程中也深刻認識到了自己在程序編輯上的不足,以后也應該加強這方面的學習.在設計過程中,我也了解到了列主消元法的一些知識。列主元素消去法的提出有效的控制了舍入誤差的擴散,且相對于完全主元素消去法,其選主元素比較方便。,利用列主元素消去法解線性方程組時僅需要選出每列中絕對值最大的元素,計算量為,也了解到了列主消元法比高斯消元法的結果更加精確,從上面的例題可看出,利用計算機來求解方程組大大的減少了計算時間.當然,利用計算機來解決工程實際和科學技術中的復雜問題,也是21世紀現代化的要求.把建立好的數學模型用計算機描述出來,這不僅使問題變得簡單化,還大大的縮減了計算所需的時間,體現了數學與計算機的緊密結合.在以后的工作生活中我們要學會善于利用計算機與數學的關系,把復雜的問題簡單化,減少計算時間,提高工作的效率.利用MATLAB軟件編寫高斯消元法求解線性方程組是一種比較好的方法,并且求得的結

溫馨提示

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

評論

0/150

提交評論