數(shù)值分析課程設計實驗報告_第1頁
數(shù)值分析課程設計實驗報告_第2頁
數(shù)值分析課程設計實驗報告_第3頁
數(shù)值分析課程設計實驗報告_第4頁
數(shù)值分析課程設計實驗報告_第5頁
已閱讀5頁,還剩7頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、數(shù)值分析課程設計實驗報告姓名:陳浩學號:081002102班級:091002 指導老師:任林源 完成日期:2011-7目錄一丶概述_二丶設計內(nèi)容_三丶設計過程_四丶主要代碼_五丶結(jié)果顯示_六丶結(jié)果驗證_七丶設計總結(jié)_實驗一:Gauss消去法和Gauss選列主元消去法一丶概述1.1 設計名稱:Gauss消去法和Gauss選列主元消去法1.2 設計目的:數(shù)值分析課本中的最基礎解線性方程組的方法Gauss消去法和Gauss選列主元消去法,隨著對他們的深入研究發(fā)現(xiàn)他們也有很多缺點.設計這次試驗是為了找出這兩者之間的區(qū)別。加強對這兩種算法的了解和掌握,還有鍛煉分析問題,解決問題的能力,理解和掌握相關(guān)算法

2、的原理執(zhí)行并完成程序設計.二丶設計內(nèi)容、編程試驗Gauss消去法和Gauss選列主元消去法;對二者算法進行比較;三丶設計過程3.1 Gauss消去法3.1.1 消去法實現(xiàn): 根據(jù)消去法的原理,編寫Matlab程序,并運行,然后帶入數(shù)據(jù)算出結(jié)果,再比較.3.1.2 Gauss消去法的原理:方程組:A*x=b A為矩陣A= a(11) a(12)a(1n); a(21) a(22)a(2n); a(n1) a(n2)a(nn)b=b1 b2 bn1 回帶過程用行列式的初等行變換把A化為上三角矩陣,則可以取得xn的值,有xn的值則可以帶入上一式中求出x(n-1)的值,以此類推則可以求得xi的值則遞推

3、公式xn=un,n-1/unnxi=1/uii(ui,n+1-(ui,i+1xi+1+.+uinxn)3.2 Gauss選列主元消去法3.2.1 原理:選列主元消去法就是在系數(shù)矩陣中按列選取絕對值最大的值作為主元素,然后交換所在行與主元素所在行的位置,再按順序消去法進行消元。四丶主要代碼:4.1 Gauss消去法主要代碼function x=hanxiaogu (A,b)n=length(b);for i= 1:n-1 for k= i+1:n for j= i+1:n if abs (A(i,i)<10(-6) warning('分母為零不能計算!'); return;

4、 else A(k,j)= A(k,j)-A(i,j)*A(k,i)/A(i,i); end end b(k)=b(k)-b(i)*A(k,i)/A(i,i); A(k,i)=0; endend%回代求解x(n)=b(n)/A(n,n);for i=n-1:-1:1 sum=0; for j=i+1:n sum=sum+A(i,j)*x(j); end x(i)=(b(i)-sum)/A(i,i);endend4.2 Gauss選列主元消法主要代碼function x=Gaussxiaoqumethod(A,b)%用高斯消去法解線性方程組A*x=b% x是未知量n=length(b);x=ze

5、ros(n,1);c=zeros(1,n);%尋找最大元t=0;for i=1:n-1max=abs(A(i,i);m=i;for j=i+1:n if max<abs(A(j,i) max=abs(A(j,i); m=j; endendif m=i for k=1:n c(k)=A(i,k); A(i,k)=A(m,k); A(m,k)=c(k); end t=b(i); b(i)=b(m); b(m)=t;endfor k=i+1:n for j=i+1:n A(k,j)=A(k,j)-A(i,j)*A(k,i)/A(i,i); end b(k)=b(k)-b(i)*A(k,i)/A

6、(i,i); A(k,i)=0;endend%回帶過程x(n)=b(n)/A(n,n);for i=n-1:-1:1 sum=0; for j=i+1:n sum=sum+A(i,j)*x(j); end x(i)=(b(i)-sum)/A(i,i);endend五丶結(jié)果顯示:5.1 Gauss消去法和Gauss主元消去法結(jié)果相同顯示結(jié)果:A = 4096 1234 3678 2943 2246 3872 4015 1129 3645 1926 3781 643 1784 4002 2786 3927b = 4063 1550 4240 -2557x=hanxiaogu (A,b)x = -0

7、.1818 -1.66942.2226-0.4440六丶結(jié)果驗證A*x=4063.3384 1550.2234 4240.2332 2556.6944這說明Gauss消去法和Gauss主元消去法的計算精度是相當高的。但是如果系數(shù)矩陣A是奇異矩陣,就會出錯。七丶設計總結(jié)列主元消元法和Gauss消元法的計算過程基本上是一樣的,只是在每一次消元前要選取系數(shù)矩陣的列主元,然后把方程組做適當?shù)男薪粨Q再進行消元運算,這就保證了舍入誤差不擴散。列主元消元法克服了順序Gauss消元的缺點,運算量也沒有全主元消元法那么大,因此是解線性方程組的一種比較實用而且簡單的方法。 實驗二:Gauss-Seidol迭代法線

8、性方程組一概述:1.1 設計說明:Guass-Seidol迭代法1.2 設計目的:深入學習和掌握Gauss-Seidol迭代法解線性方程組,會使用Matlab軟件,回編寫程序,并使用程序帶入數(shù)據(jù),計算出結(jié)果。二丶算法內(nèi)容:編寫程序,并使用Matlab程序運行程序,計算出結(jié)果三丶設計過程3.1 Gauss-Seidol迭代法3.1.1 迭代法的實現(xiàn):根據(jù)迭代法的原理,編寫Matlab程序,并運行,然后帶入數(shù)據(jù)算出結(jié)果。3.1.2 Gauss-Seidol迭代法的原理:線性方程組 Ax=b A=(aij)n×n非奇異,b=bbo.將Ax=b變換成映射形式的同解組 x=Gx+f由此構(gòu)造迭代

9、公式 x(k)=Gx(k-1)+f對取定的初值向量想x(0),取得極限 x*=Gx*+f從而x*為A*x=b的解,當k充分大的時候x*=x(k).四丶主要代碼:function x=naspgs(A,b,x0,e,N)%用途:用向量(稀疏存儲)形式的Gauss-Seidel迭代解線性方程組Ax=b%格式:x=naspgs(A,b,x0,e,N) A為系數(shù)矩陣,b為右端向量,x返回解向% 量,x0為初值向量(默認原點),e為精確度(默認1e-4),設置迭代次數(shù)上限% 以防發(fā)散(默認500)n=length(b);if nargin<5,N=500;endif nargin<3,e=1

10、e-4,endif nargin<2,x0=zeros(n,1);endx0=sparse(x0);b=sparse(b);A=sparse(A);%使用稀疏矩陣存儲x=x0;x0=x+2*e;x0=sparse(x0);k=0;A1=tril(A);iA1=inv(A1);while norm(x0-x,inf)>e&k<N, k=k+1; x0=x;x=-iA1*(A-A1)*x0+iA1*b;endx=full(x);if k=N,warning('已達迭代次數(shù)上線');endend五丶結(jié)果顯示A=17.031,-0.615,-2.991,1.0

11、07,-1.006,0.000; -1.000,34.211,-1.000,-2.100,0.300,-1.700; 0.000,0.500,13.000,-0.500,1.000,-1.500; 4.501,3.110,-3.907,-61.705,12.170,8.999; 0.101,-8.012,-0.017,-0.910,4.918,0.100; 1.000,2.000,3.000,4.500,5.000,21.803b=0.230,-52.322,54.000,240.236,29.304,-117.818'e=10(-6)x0=0 0 0 0 0 0 'N=500x=naspgs(A,b,x0,e,N)x =0.9071 -1.9618 3.2937 -4.5007 2.0293 -5.2551 '六丶結(jié)果驗證:A*x=0.2301897 -52.3220098 53.9995 241.1419028 29.3037902 117.8189953這說明Gauss-Seidol迭代法的精確度比較高,但是奇異矩陣還是會出錯的。七丶設計總結(jié)直接法得到的解是理論上準確的,但是我們可以看得出,它們的計算量都是n3數(shù)量級,存儲量為n2量級,這在n比較小的時候還比較合適,但是對于現(xiàn)在的很多實際問題,往往要我們求解很大的n的矩陣,而且這些矩陣往往是

溫馨提示

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

評論

0/150

提交評論