雅可比迭代實驗報告_第1頁
雅可比迭代實驗報告_第2頁
雅可比迭代實驗報告_第3頁
免費預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

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

文檔簡介

1、雅可比迭代法求解線性方程組的實驗報告一、實驗題目分別利用雅可比迭代法和高斯 -塞德爾迭代法求解以下線性方程組:10x1 x2 2x3 7.2x1 10x2 2x3 8.3x1 x2 5x3 4.2使得誤差不超過 0.00001 。二、實驗引言1. 實驗?zāi)康?掌握用迭代法求解線性方程組的根本思想和步驟,熟悉電腦fortran語言; 了解雅可比迭代法在求解方程組過程中的優(yōu)缺點。2. 實驗意義 雅克比迭代法就是眾多迭代法中比擬早且較簡單的一種,求解方便實用。三、算法設(shè)計1. 雅可比迭代法原理:設(shè)有線性方程組 Ax=b 滿足 aii 0, 將方程組變形為 : x=Bx+f, 那么雅可比 (Jacobi

2、)迭代法是指X(k1) Bxk f,即由初始解逐步迭代即可得到方程組的解。算法步驟如下:x10), x20), xn0),精度e,最大容許迭代次數(shù)M,令k=1步驟2.對i=1,2,,n依次計算x1n(bjaijxj ) / aii ( aii0,i 1,2, ,n)j1ei(1)xiji(1) (0)| xixi|(0)xie maxei ,假設(shè) e 1in步驟4.,那么輸出結(jié)果x(0) (i1,2,n),停止計算。否那么執(zhí)行k M ,k 1 k,轉(zhuǎn)步驟2繼續(xù)迭代。假設(shè)k M ,說明迭代失敗,停止計算2算法流程圖四、程序設(shè)計program jacobi implicit none in teg

3、er:i,j in teger:k save k in teger,parameter: n=3 real:x( n),y( n),b( n) real:Dreal:a( n,n)ope n (u ni t=10,file='1.txt')data a/10,-1,-1,-1,10,-1,-2,-2,5/write(10,*)"矩陣 A 的形式為*"write(10,"(1x,3f6.2,/)")aforall(i=1:n) x(i)=0 end forall k=0 100 D=0 do i=1,n y(i)=b(i) do j=1,n

4、 if(i/=j) y(i)=y(i)-a(i,j)*x(j) end do y(i)=y(i)/a(i,i) end dodo j=1,nD=abs(x(j)-y(j) end doforall(i=1:n) x(i)=y(i) end forallif(D>=e) then k=k+1 write(10,*)" 迭代次數(shù)為: ",kgoto 100 elsegoto 200end if200write(10,*)"write(10,*)" 用 jacobi 方法解得的結(jié)果 Xt 為:write(10,"(1x,3f6.2,/)&quo

5、t;)x(:)stopend program五、結(jié)果及討論1.實驗結(jié)果*矩陣 A 的形式為 *迭代次數(shù)為:1迭代次數(shù)為:2迭代次數(shù)為:3迭代次數(shù)為:4迭代次數(shù)為:5迭代次數(shù)為:6迭代次數(shù)為:7*用 jacobi 方法解得的結(jié)果 Xt 為:2. 討論分析1誤差 從上述輸出結(jié)果中可以看出,當?shù)螖?shù) k 增大時,迭代值 x1,y1,z1會越來越逼近方程組的精確解 x=1.0,y=1.2,z=1.3。2收斂性在此題目中 , 用雅可比迭代法和高斯 -塞德爾迭代法分別求解該線性方程組,得 到的近似根是收斂的六、算法評價優(yōu)點:迭代法算法簡單,編制程序比擬容易。 缺點:迭代法要求方程組的系數(shù)矩陣有某種特殊性

6、質(zhì)譬如是所謂對角占優(yōu)陣 以保證過程的收斂性。高斯塞德爾迭代法比雅可比迭代法收斂快 到達同樣的精度所需迭代次數(shù)少 , 但這個結(jié)論 , 在一定條件下才是對的 , 甚至有這樣的方程 組, 雅可比方法收斂,而高斯塞德爾迭代法卻是發(fā)散的。在雅可比迭代法求解 線性方程組時, 只要誤差截斷設(shè)計的合理, 原那么上可以得到很正確的解。 而通常 我們選取設(shè)計誤差限或設(shè)計最大迭代次數(shù)的方法來控制。 由于它的準確性, 故在 實際應(yīng)用中比擬常見, 對于解一般線性方程組非常有效準確。 通過該算法以及編程對求解的過程,我們不難發(fā)現(xiàn),雅克比迭代法的優(yōu)點明顯,計算公式簡單,每 迭代一次只需計算一次矩陣和向量的乘法,且計算過程中

7、原始矩陣A 始終不變,比擬容易并行計算。然而這種迭代方式收斂速度較慢, 而且占據(jù)的存儲空間較大, 所以工程中一般不直接用雅克比迭代法,而用其改進方法。附:高斯賽德爾程序program G-S implicit none integer:i,j integer:k save k integer,parameter:n=3real:x(n),y(n),b(n) real:D real:a(n,n)open (unit=10,file='1.txt')data a/10,-1,-1,-1,10,-1,-2,-2,5/ write(10,"(1x,3f6.2,/)"

8、)a forall(i=1:n)write(10,*)"矩陣 A 的形式為*"x(i)=0end forallk=0100 D=0do i=1,ny(i)=b(i)do j=1,nif(i<j) y(i)=y(i)-a(i,j)*x(j) if(i>j) y(i)=y(i)-a(i,j)*y(j) end do y(i)=y(i)/a(i,i) end do do j=1,n D=abs(x(j)-y(j) end do forall(i=1:n)x(i)=y(i) end forallif(D>=e) thenk=k+1write(10,*)" 迭代次數(shù)為: ",kgoto 100 else goto 200end if200write(10,*)"write(10,*)"用 Gauss-seidel 方法解得的結(jié)

溫馨提示

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

評論

0/150

提交評論