jacobi迭代法-實(shí)驗(yàn)-MATLAB程序-數(shù)值分析_第1頁(yè)
jacobi迭代法-實(shí)驗(yàn)-MATLAB程序-數(shù)值分析_第2頁(yè)
jacobi迭代法-實(shí)驗(yàn)-MATLAB程序-數(shù)值分析_第3頁(yè)
jacobi迭代法-實(shí)驗(yàn)-MATLAB程序-數(shù)值分析_第4頁(yè)
jacobi迭代法-實(shí)驗(yàn)-MATLAB程序-數(shù)值分析_第5頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

求線性方程組得近似解。精確解為x*=[3,2,1]’。解:對(duì)方程進(jìn)行移項(xiàng)就得記為Ax=b,或?qū)憺閤=B0x+f,其中取初始值,代入原方程組可得再將把它代入可得.反復(fù)利用這個(gè)計(jì)算過(guò)程,得到一向量序列和一般的計(jì)算公式(迭代公式) 簡(jiǎn)寫為迭代到第10次有從此例看出,由迭代法產(chǎn)生的向量序列x(k)逐步逼近方程組的精確解x*. 6.1常用迭代法定義1(ⅰ)對(duì)于給定的方程組x=Bx+f,用公式逐步代入求近似解的方法稱為迭代法(或稱為一階定常迭代法,這里B與k無(wú)關(guān)).(ⅱ)如果存在(記為x*),稱此迭代法收斂,顯然x*就是方程組的解,否則稱此迭代法發(fā)散.迭代法的流程圖為:①為初始向量,②是判斷條件,即時(shí)停止運(yùn)行③k是循環(huán)次數(shù)。④中帶入初始值,然后賦給①Jacobi迭代法 對(duì)一般方程組從第一個(gè)方程解出x1,第二個(gè)方程解出x2,…,記成用矩陣寫法即 x=Bx+g, B的對(duì)角元皆零,可拆成B=L+U L是B下三角部分,U是B上三角部分Jacobi迭代法如下述.任取初始近似x(0),對(duì)k=1,2,…計(jì)算 直至║x(k+1)-x(k)║≤ε,預(yù)定的精度.用矩陣記號(hào),即任取初始近似x(0),對(duì)k=1,2,…計(jì)算x(k+1)=Bx(k)+g,直至║x(k+1)-x(k)║≤ε(通常對(duì)迭代法限定最大迭代次數(shù)也是必要的).Jacobi迭代法的流程圖為:在以上的流程圖中,先讀入數(shù)據(jù),即先輸入系數(shù)矩陣A,常數(shù)向量b,初始值,停止條件和最大循環(huán)次數(shù)。圖中是,在我們迭代公式中的。k是循環(huán)次數(shù),N是最大循環(huán)次數(shù)。例2.

利用Jacobi方法求方程組的近似解。解把原方程改為 任取初始近似x(0),對(duì)k=1,2,…計(jì)算 直至║x(k+1)-x(k)║≤ε,預(yù)定的精度. 此即Jacobi迭代法.計(jì)算結(jié)果如下表.kx1(k)x2(k)x3(k)000010.7200000000000.8300000000000.84000000000020.9710000000001.0700000000001.15000000000031.0570000000001.1571000000001.24820000000041.0853500000001.1853400000001.28282000000051.0950980000001.1950990000001.29413800000061.0983375000001.1983374000001.29803940000071.0994416200001.1994416300001.29933498000081.0998111590001.1998111580001.29977665000091.0999364458001.1999364459001.299924463400101.0999785372701.1999785372601.299974578340111.0999927693941.1999927693951.299991414906二實(shí)驗(yàn)部分本章實(shí)驗(yàn)內(nèi)容:實(shí)驗(yàn)題目:Jacobi迭代法,Gauss-Saidel迭代法,SOR迭代法。實(shí)驗(yàn)內(nèi)容:利用MATLAB,編制求Ax=b的各迭代計(jì)算方法的程序。實(shí)驗(yàn)?zāi)康模毫私獾ǖ倪\(yùn)用性,進(jìn)行各迭代法數(shù)值結(jié)果的比較,并找出一個(gè)計(jì)算量小的,使迭代法加速收斂的迭代方法。編程要求:①利用迭代法,初始向量為x(0)②同時(shí)利用Jacobi法和Gauss-Seidel法來(lái)進(jìn)行對(duì)比。③利用SOR迭代法來(lái)進(jìn)行對(duì)比。計(jì)算算法:①Jacobi迭代法的算法為:②Gauss-Saidel迭代法的算法為:③SOR迭代法的算法為:實(shí)驗(yàn)例題⑴:條件:取實(shí)驗(yàn)例題⑵:條件:取選擇適當(dāng)?shù)乃沙谝蜃?。程序①:function[X,Y]=JacobiGS(A,b,p,p1,del,max)%A為線性方程組的系數(shù)矩陣,b為自由項(xiàng),p和p1為兩種迭代法的初始解,del為限制數(shù),max為循環(huán)的限制次數(shù)。n=length(b);fork1=1:maxforj=1:nY(j)=(b(j)-A(j,[1:j-1])*p1(1:j-1)-A(j,[j+1:n])*p1(j+1:n))/A(j,j);ifj==1X(1)=(b(1)-A(1,[2:n])*p(2:n))/A(1,1);elseifj==nX(n)=(b(n)-A(n,[1:n-1])*(X(1:n-1))')/A(n,n);elseX(j)=(b(j)-A(j,[1:j-1])*(X(1:j-1))'-A(j,[j+1:n])*p(j+1:n))/A(j,j);enderr=abs(norm(X'-p));reerr=err/(norm(X)+eps);p=X';if(err<del)|(reerr<del)breakenderr1=abs(norm(Y'-p1));reerr1=err1/(norm(Y)+eps);p1=Y';if(err1<del)|(reerr1<del)breakendenddisp(sprintf('kX(k)Y(k)'));fori=0:ndisp(sprintf('%d%f%f',i,X(i+1),Y(i+1)));end數(shù)值結(jié)果:[X,Y]=JacobiGS(A,b,p,p1,10^(-5),7)kX(k)Y(k)03.0000022.99902911.9999992.00262120.9999991.003131程序②:functionX=SOR(A,b,p,w,del,max)%A為線性方程組的系數(shù)矩陣,b為自由項(xiàng),p為迭代初始值,w為松弛因子,del為限制數(shù),max為循環(huán)的限制次數(shù)。n=length(b);fork=1:maxforj=1:nifj==1X(1)=p(j)+w*(b(1)-A(1,[1:n])*p(1:n))/A(1,1);elseifj==nX(n)=p(n)+w*(b(n)-A(n,[1:n-1])*(X(1:n-1))'-A(n,n)*p(n))/A(n,n);elseX(j)=p(j)+w*(b(j)-A(j,[1:j-1])*(X(1:j-1))'-A(j,[j:n])*p(j:n))/A(j,j);endenderr=abs(norm(X'-p));reerr=err/(norm(X)+eps);p=X';if(err<del)|(reerr<del)breakendenddisp(sprintf('kX(k)'));fori=0:ndisp(sprintf('%d%f',i,X(i+1)));end數(shù)值結(jié)果:X=SOR(A,b,p,1.3,10^(-5),11)kX(k)0-0.9999971-1.0000032-1.0000003-0.999999總結(jié):①迭代法具有需要計(jì)算機(jī)的存貯單元較少,程序設(shè)計(jì)簡(jiǎn)單,原始系數(shù)矩陣在計(jì)算過(guò)程中始終不變等優(yōu)點(diǎn).②迭代法在收斂性及收斂速度等方面存在問(wèn)題.[注:A必須滿足一定的條件下才能運(yùn)用以下三種迭代法之一。在Jacobi中不用產(chǎn)生的新數(shù)據(jù)信息,每次都要計(jì)算一次矩陣與向量的乘法,而在Gauss利用新產(chǎn)生的信息數(shù)據(jù)來(lái)計(jì)算矩陣與向量的乘法。在SOR中必須選擇一個(gè)最佳的松弛因子,才能使收斂加速。]經(jīng)過(guò)計(jì)算可知Gauss-Seidel方法比Jacobi方法剩點(diǎn)計(jì)算量,也是Jacobi方法的改進(jìn)。可是精確度底,計(jì)算量高,費(fèi)時(shí)間,需要改進(jìn)。SOR是進(jìn)一步改進(jìn)Gauss-Seidel而得到的比Jacobi,Gauss-Seidel方法收斂速度快,綜合性強(qiáng)。改變松弛因子的取值范圍來(lái)可以得到Jacobi,Gauss-Seidel方法。③選擇一個(gè)適當(dāng)?shù)乃?/p>

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論