雅可比迭代試驗(yàn)報(bào)告_第1頁
雅可比迭代試驗(yàn)報(bào)告_第2頁
雅可比迭代試驗(yàn)報(bào)告_第3頁
雅可比迭代試驗(yàn)報(bào)告_第4頁
雅可比迭代試驗(yàn)報(bào)告_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、雅可比迭代法求解線性方程組的實(shí)驗(yàn)報(bào)告一、實(shí)驗(yàn)題目分別利用雅可比迭代法和高斯-塞德爾迭代法求解以下線性方程組:10 x1 x2 2x37.2x1 10 x2 2x3 8.3 x1 x2 5x34.2使得誤差不超過0.00001。二、實(shí)驗(yàn)引言.實(shí)驗(yàn)?zāi)康恼莆沼玫ㄇ蠼饩€性方程組的基本思想和步驟,熟悉計(jì)算機(jī)fortran語言;了解雅可比迭代法在求解方程組過程中的優(yōu)缺點(diǎn)。.實(shí)驗(yàn)意義雅克比迭代法就是眾多迭代法中比較早且較簡單的一種,求解方便實(shí)用。三、算法設(shè)計(jì)1.雅可比迭代法原理:設(shè)有線性方程組Ax=b滿足a. 0,將方程組變形為:x=Bx+f,則雅可比 (Jacobi)迭代法是指X(k1) Bxk f

2、,即由初始解逐步迭代即可得到方程組的 解。算法步驟如下:-可編輯修改-步驟1.給定初始值x?x20), ,x;0),精度e,最大容許迭代次數(shù)M,令k=1步驟2.對(duì)i=1,2,n依次計(jì)算nXi,n)(bjaijxj)/aH (aH0,i 1,2,ei| xxi(1)Xix(0) i1(0) i|步驟3.求出e maxe,若e1in則輸出結(jié)果Xi(0)(i1,2, ,n),停止計(jì)算否則執(zhí)行步驟4.步驟4.若k M ,k 1 k,轉(zhuǎn)步驟繼續(xù)迭代。若k M,表明迭代失敗,停止計(jì)2.算法流程圖-可編輯修改-開始讀入數(shù)據(jù)max |樂一ICh鉆束四、程序設(shè)計(jì)program jacobiimplicit no

3、neinteger:i,jinteger:ksave kreal,parameter:e=0.001integer,parameter二n=3real:x(n),y(n),b(n)-可編輯修改-data b/7.2,8.3,4.2/ 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,*)*矩陣A的形式為*、write(10,(1x,3f6.2,/)a forall(i=1:n)x(i)=0end forallk=0100D=0do i=1,ny(i)=b(i)do j=1,

4、nif(i/=j) y(i)=y(i)-a(i,j)*x(j)end doy(i)=y(i)/a(i,i)end do-可編輯修改-do j=1,nD=abs(x(j)-y(j) end do forall(i=1:n) x(i)=y(i) end forall if(D=e) then k=k+1 write(10,*)”迭代次數(shù)為:,k goto 100 else goto 200 end if200write(10*)*write(10,*)用jacobi方法解得的結(jié)果Xt為:-可編輯修改-stop end program五、結(jié)果及討論1.實(shí)驗(yàn)結(jié)果*矩陣A的形式為*10.00 -1.00

5、 -1.00-1.00 10.00 -1.00 TOC o 1-5 h z -2.00 -2.005.00迭代次數(shù)為:1迭代次數(shù)為:2迭代次數(shù)為:3迭代次數(shù)為:4迭代次數(shù)為:5迭代次數(shù)為:6迭代次數(shù)為:7*用jacobi方法解得的結(jié)果 Xt為:1.101.201.30-可編輯修改-2.討論分析(1)誤差從上述輸出結(jié)果中可以看出,當(dāng)?shù)螖?shù) k增大時(shí),迭代值x1,y1,z1會(huì)越來越逼近方程組的精確解 x=1.0,y=1.2,z=1.3 o(2)收斂性在本題目中,用雅可比迭代法和高斯-塞德爾迭代法分別求解該線性方程組,得 到的近似根是收斂的六、算法評(píng)價(jià)優(yōu)點(diǎn):迭代法算法簡單,編制程序比較容易。缺點(diǎn):

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

7、向量的乘法,且計(jì)算過程中原始矩陣A始終不變,比較容易并行計(jì)算。然而這種迭代方式收斂速度較慢,而且占據(jù)的存儲(chǔ)空間較大, 所以工程中一般不直接用雅克比迭代法,而用其改進(jìn)方法。附:高斯一賽德爾程序-可編輯修改-program G-S implicit noneinteger:i,jinteger:ksave kreal,parameter:e=0.001integer,parameter二n=3real:x(n),y(n),b(n)data b/7.2,8.3,4.2/real:Dreal:a(n,n)open (unit=10,file=1.txt)data a/10,-1,-1,-1,10,-1

8、,-2,-2,5/write(10,*)*矩陣A的形式為*、write(10,(1x,3f6.2,/)a forall(i=1:n)x(i)=0end forallk=0100D=0do i=1,n-可編輯修改-y(i)=b(i)do j=1,nif(ij) y(i)=y(i)-a(i,j)*y(j)end doy(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) thenk=k+1write(10,*)”迭代次數(shù)為:,kgoto 100else-可編輯修改-goto 200end if200write(10,*)*”write(10,*)用 Gauss-seidel方法解得的結(jié)果 Xt為:write(10,(1x,3f6.2,/)x(:)stopend program* 矩陣 A 的形式為 *10.00 -1.00 -1.00-1.00 10.00 -1.00-2.00 -2.005.00迭代次數(shù)為: 迭代次數(shù)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論