數(shù)值分析課程設(shè)計(jì)方案實(shí)驗(yàn)報(bào)告_第1頁(yè)
數(shù)值分析課程設(shè)計(jì)方案實(shí)驗(yàn)報(bào)告_第2頁(yè)
數(shù)值分析課程設(shè)計(jì)方案實(shí)驗(yàn)報(bào)告_第3頁(yè)
已閱讀5頁(yè),還剩8頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

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

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

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

4、elseA(k,j)二 A(k,j)-A(i,j)*A(k,i)/A(i,i);endendb(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:1sum=0;for j=i+1: nsum=sum+A(i,j)*x(j);endx(i)=(b(i)-sum)/A(i,i);endend4.2 Gauss選列主元消法主要代碼 fun cti on x=Gaussxiaoqumethod(A,b)%用高斯消去法解線性方程組A*x=b% x是未知量n=len gth(b);x=zeros

5、 (n ,1);c=zeros(1, n);%尋找最大元t=0;for i=1: n-1max=abs(A(i,i);m=i;for j=i+1: nif max<abs(A(j,i) max=abs(A(j,i); m=j;endendif m二ifor k=1: nc(k)=A(i,k);A(i,k)=A(m,k); A(m,k)=c(k);endt=b(i);b(i)=b(m);b(m)=t;endfor k=i+1: nfor j=i+1: nA(k,j)=A(k,j)-A(i,j)*A(k,i)/A(i,i);endb(k)=b(k)-b(i)*A(k,i)/A(i,i);A(

6、 k,i)=0;endend%回帶過程x(n )=b( n)/A( n,n);for i=n-1:-1:1sum=0;for j=i+1: nsum=sum+A(i,j)*x(j);endx(i)=(b(i)-sum)/A(i,i);endend五、結(jié)果顯示:5.1 Gauss消去法和Gauss主元消去法結(jié)果相同顯示結(jié)果:A =409612343678294322463872401511293645192637816431784400227863927b =406315504240-2557x=ha nxiaogu (A,b)x =-0.1818-1.66942.2226-0.4440六、結(jié)果

7、驗(yàn)證A*x=4063.33841550.22344240.23322556.6944這說明Gauss消去法和Gauss主元消去法的計(jì)算精度是相當(dāng)高的。 但 是如果系數(shù)矩陣A是奇異矩陣,就會(huì)出錯(cuò)。七、設(shè)計(jì)總結(jié)列主元消元法和Gauss消元法的計(jì)算過程基本上是一樣的,只是在 每一次消元前要選取系數(shù)矩陣的列主元,然后把方程組做適當(dāng)?shù)男薪粨Q再進(jìn)行消元運(yùn)算,這就保證了舍入誤差不擴(kuò)散。列主元消元法克服 了順序Gauss消元的缺點(diǎn),運(yùn)算量也沒有全主元消元法那么大,因 此是解線性方程組的一種比較實(shí)用而且簡(jiǎn)單的方法。實(shí)驗(yàn)二:Gauss-SeidoI迭代法線性方程組一概述:1.1 設(shè)計(jì)說明:Guass-Seido迭

8、代法1.2 設(shè)計(jì)目的:深入學(xué)習(xí)和掌握Gauss-Seidol迭代法解線性方程組, 會(huì)使用Matlab軟件,回編寫程序,并使用程序帶入數(shù)據(jù),計(jì)算 出結(jié)果。二、算法內(nèi)容:編寫程序,并使用Matlab程序運(yùn)行程序,計(jì)算出結(jié)果三、設(shè)計(jì)過程3.1 Gauss-Seidol 迭代法迭代法的實(shí)現(xiàn):根據(jù)迭代法的原理,編寫Matlab程序,并運(yùn)行, 然后帶入數(shù)據(jù)算出結(jié)果。3.1.2 Gauss-Seidol迭代法的原理:線性方程組 Ax=b A=(aij)n x n非奇異,b=bb' o.將Ax=b變換成映射形式的同解組x=Gx+f對(duì)取定的初值向量想x(0),取得極限x*=Gx*+f從而x*為A*x=b

9、的解,當(dāng)k充分大的時(shí)候x*=x(k).四、主要代碼:fun cti on x二n aspgs(A,b,xO,e,N)%用途:用向量(稀疏存儲(chǔ))形式的Gauss-Seidel迭代解線性方程組Ax=b%格式:x=naspgs(A,b,xO,e,N) A為系數(shù)矩陣,b為右端向量,x返回 解向%量,x0為初值向量(默認(rèn)原點(diǎn)),e為精確度(默認(rèn)1e-4),設(shè)置迭代次數(shù)上限%以防發(fā)散(默認(rèn)500)n=len gth(b);if n arg in< 5,N=500;e ndif n arg in< 3,e=1e-4,e ndif n arg in< 2,x0二zeros (n ,1);e

10、ndx0=sparse(x0);b=sparse(b);A=sparse(A);%使 用稀疏矩陣存儲(chǔ) x=x0;x0=x+2*e;x0=sparse(x0);k=0;A 仁tril(A);iA仁i nv(A1);while norm(xO-x,i nf)>e&k<N,k=k+1;xO二x;x=-iA1*(A-A1)*xO+iA1*b;endx=full(x);if k=N,warning('已達(dá)迭代次數(shù)上線');endend五、結(jié)果顯示A二17.031,-0.615,-2.991,1.007,-1.006,0.000;-1.000,34.211,-1.000

11、,-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=10A(-6)x0=0 0 0 0 0 0'N=500x=n aspgs(A,b,x0,e,N)x =0.9071-1.96183.2937 -4.50072.0293 -5.2551'六丶 結(jié)果 驗(yàn)證:A*x= 0.2301897-52.322009853.9995241.141902829.3037902117.8189953這說明Gauss-Seidol迭代法的精確度比較高,但是奇異矩陣還是 會(huì)出錯(cuò)的。七、設(shè)計(jì)總結(jié)直接法得到的解是理論上準(zhǔn)確的, 但是我們可以看得出,它們的計(jì)算 量都是n3數(shù)量級(jí),存儲(chǔ)量為n2量級(jí),這在n比較小的時(shí)候還比較合 適,但是對(duì)于現(xiàn)在的很多實(shí)際問題,往往要我們求解很大的n的

溫馨提示

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

評(píng)論

0/150

提交評(píng)論