常微分方程的解線性方程組的迭代法_第1頁(yè)
常微分方程的解線性方程組的迭代法_第2頁(yè)
常微分方程的解線性方程組的迭代法_第3頁(yè)
常微分方程的解線性方程組的迭代法_第4頁(yè)
常微分方程的解線性方程組的迭代法_第5頁(yè)
已閱讀5頁(yè),還剩12頁(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)介

1、實(shí)驗(yàn)五 解線性方程組的迭代法【實(shí)驗(yàn)內(nèi)容】對(duì)1、設(shè)線性方程組 2、設(shè)對(duì)稱正定系數(shù)陣線性方程組 3、三對(duì)角形線性方程組 試分別選用Jacobi 迭代法,Gauss-Seidol迭代法和SOR方法計(jì)算其解?!緦?shí)驗(yàn)方法或步驟】1、體會(huì)迭代法求解線性方程組,并能與消去法加以比較; 2、分別對(duì)不同精度要求,如由迭代次數(shù)體會(huì)該迭代法的收斂快慢; 3、對(duì)方程組2,3使用SOR方法時(shí),選取松弛因子=0.8,0.9,1,1.1,1.2等,試看對(duì)算法收斂性的影響,并能找出你所選用的松弛因子的最佳者; 4、給出各種算法的設(shè)計(jì)程序和計(jì)算結(jié)果。程序:用雅可比方法求的程序:function x,n=jacobi(A,b,x

2、0,eps,varargin)if nargin=3 eps=1.0e-6; M=200;elseif nargin=5 M=varargin1;endD=diag(diag(A);L=-tril(A,-1);U=-triu(A,1);B=D(L+U);f=Db;x=B*x0+f;n=1;while norm(x-x0)=eps x0=x; x=B*x0+f; n=n+1;if(n=M) diso(不收斂!) return;endend解1的程序?yàn)锳=4 2 -3 -1 2 1 0 0 0 0;8 6 -5 -3 6 5 0 1 0 0;4 2 -2 -1 3 2 -1 0 3 1;0 -2

3、1 5 -1 3 -1 1 9 4;-4 2 6 -1 6 7 -3 3 2 3;8 6 -8 5 7 17 2 6 -3 5;0 2 -1 3 -4 2 5 3 0 1;16 10 -11 -9 17 34 2 -1 2 2;4 6 2 -7 13 9 2 0 12 4;0 0 -1 8 -3 -24 -8 6 3 -1;,b=5 12 3 2 3 46 13 38 19 -21A = Columns 1 through 4 4 2 -3 -1 8 6 -5 -3 4 2 -2 -1 0 -2 1 5 -4 2 6 -1 8 6 -8 5 0 2 -1 3 16 10 -11 -9 4 6

4、2 -7 0 0 -1 8 Columns 5 through 8 2 1 0 0 6 5 0 1 3 2 -1 0 -1 3 -1 1 6 7 -3 3 7 17 2 6 -4 2 5 3 17 34 2 -1 13 9 2 0 -3 -24 -8 6 Columns 9 through 10 0 0 0 0 3 1 9 4 2 3 -3 5 0 1 2 2 12 4 3 -1b = 5 12 3 2 3 46 13 38 19 -21 x0=ones(10,1); x,n=Jacobi(A,b,x0)得到的結(jié)果為Warning: Function call Jacobi invokes i

5、nexact match d:MATLAB7workjacobi.m.不收斂!x = 1.0e+124 * -0.1794 -0.3275 -0.7094 1.5990 1.0311 0.3291 0.2464 4.3905 0.4927 -2.6574n = 200即迭代了200次而且可能不收斂A = 4 2 -4 0 4 2 0 0 2 2 -1 2 1 3 2 0 -4 -1 14 1 -8 -3 5 6 0 -2 1 6 -1 -4 -3 3 2 1 -8 -1 22 4 -10 -3 4 3 -3 -4 4 11 1 -4 0 2 5 -3 -10 1 14 2 0 0 6 3 -3

6、 -4 2 19b = 0 -6 20 23 9 -22 -15 45 x0=ones(8,1); x,n=Jacobi(A,b,x0) 不收斂!x = 1.0e+047 * 0.9627 1.0084 -0.4954 -0.5979 0.3097 0.6872 -0.0666 -0.2629n =200此方程可能不收斂A=4 -1 0 0 0 0 0 0 0 0;-1 4 -1 0 0 0 0 0 0 0;0 -1 4 -1 0 0 0 0 0 0;0 0 -1 4 -1 0 0 0 0 0;0 0 0 -1 4 -1 0 0 0 0;0 0 0 0 -1 4 -1 0 0 0;0 0 0

7、0 0 -1 4 -1 0 0;0 0 0 0 0 0 -1 4 -1 0;0 0 0 0 0 0 0 -1 4 -1;0 0 0 0 0 0 0 0 -1 4;,b=7 5 -13 2 6 -12 14 -4 5 -5A = Columns 1 through 5 4 -1 0 0 0 -1 4 -1 0 0 0 -1 4 -1 0 0 0 -1 4 -1 0 0 0 -1 4 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Columns 6 through 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

8、0 0 -1 0 0 0 0 4 -1 0 0 0 -1 4 -1 0 0 0 -1 4 -1 0 0 0 -1 4 -1 0 0 0 -1 4b = 7 5 -13 2 6 -12 14 -4 5 -5 x0=ones(10,1); x,n=Jacobi(A,b,x0)x = 2.0000 1.0000 -3.0000 0.0000 1.0000 -2.0000 3.0000 0.0000 1.0000 -1.0000n =22得到結(jié)果為迭代了22次得到近似解為x =2.0000 1.0000 -3.0000 0.0000 1.0000 -2.0000 3.0000 0.0000 1.000

9、0 -1.0000用高斯賽德?tīng)栐闯绦騠unction x,n=gauseidel(A,b,x0,eps,M)if nargin=3 eps=1.0e-6; M=200;elseif nargin=4 M=200;elseif nargin=eps x0=x; x=G*x0+f; n=n+1; if(n=M) disp(Warning:不收斂!); return; endend解上面3個(gè)方程組的程序分別為第一個(gè)方程A=4 2 -3 -1 2 1 0 0 0 0;8 6 -5 -3 6 5 0 1 0 0;4 2 -2 -1 3 2 -1 0 3 1;0 -2 1 5 -1 3 -1 1 9 4;

10、-4 2 6 -1 6 7 -3 3 2 3;8 6 -8 5 7 17 2 6 -3 5;0 2 -1 3 -4 2 5 3 0 1;16 10 -11 -9 17 34 2 -1 2 2;4 6 2 -7 13 9 2 0 12 4;0 0 -1 8 -3 -24 -8 6 3 -1;,b=5 12 3 2 3 46 13 38 19 -21A = 4 2 -3 -1 2 1 0 0 0 0 8 6 -5 -3 6 5 0 1 0 0 4 2 -2 -1 3 2 -1 0 3 1 0 -2 1 5 -1 3 -1 1 9 4 -4 2 6 -1 6 7 -3 3 2 3 8 6 -8 5

11、7 17 2 6 -3 5 0 2 -1 3 -4 2 5 3 0 1 16 10 -11 -9 17 34 2 -1 2 2 4 6 2 -7 13 9 2 0 12 4 0 0 -1 8 -3 -24 -8 6 3 -1b = 5 12 3 2 3 46 13 38 19 -21x0=zeros(10,1); x,n=gauseidel(A,b,x0)Warning:不收斂!x = 1.0e+247 * 0.0165 -0.0271 0.2202 -0.4576 -0.5951 0.3138 -0.4381 2.2450 0.0413 7.4716n =200即迭代200次后此方程可能不收

12、斂方程2的程序?yàn)锳=4 2 -4 0 4 2 0 0;2 2 -1 2 1 3 2 0;-4 -1 14 1 -8 -3 5 6;0 -2 1 6 -1 -4 -3 3;2 1 -8 -1 22 4 -10 -3;4 3 -3 -4 4 11 1 -4;0 2 5 -3 -10 1 14 2;0 0 6 3 -3 -4 2 19;,b=0 -6 20 23 9 -22 -15 45A = 4 2 -4 0 4 2 0 0 2 2 -1 2 1 3 2 0 -4 -1 14 1 -8 -3 5 6 0 -2 1 6 -1 -4 -3 3 2 1 -8 -1 22 4 -10 -3 4 3 -3

13、-4 4 11 1 -4 0 2 5 -3 -10 1 14 2 0 0 6 3 -3 -4 2 19b = 0 -6 20 23 9 -22 -15 45 x0=zeros(8,1); x,n=gauseidel(A,b,x0)x = 3.5441 -4.8877 1.9482 0.4525 1.4283 -1.1606 -0.1081 1.6743n =44即在迭代44次后可求的方程的近似解第3個(gè)的程序?yàn)?A=4 -1 0 0 0 0 0 0 0 0;-1 4 -1 0 0 0 0 0 0 0;0 -1 4 -1 0 0 0 0 0 0;0 0 -1 4 -1 0 0 0 0 0;0 0

14、0 -1 4 -1 0 0 0 0;0 0 0 0 -1 4 -1 0 0 0;0 0 0 0 0 -1 4 -1 0 0;0 0 0 0 0 0 -1 4 -1 0;0 0 0 0 0 0 0 -1 4 -1;0 0 0 0 0 0 0 0 -1 4;,b=7 5 -13 2 6 -12 14 -4 5 -5A = 4 -1 0 0 0 0 0 0 0 0 -1 4 -1 0 0 0 0 0 0 0 0 -1 4 -1 0 0 0 0 0 0 0 0 -1 4 -1 0 0 0 0 0 0 0 0 -1 4 -1 0 0 0 0 0 0 0 0 -1 4 -1 0 0 0 0 0 0 0 0

15、 -1 4 -1 0 0 0 0 0 0 0 0 -1 4 -1 0 0 0 0 0 0 0 0 -1 4 -1 0 0 0 0 0 0 0 0 -1 4b = 7 5 -13 2 6 -12 14 -4 5 -5 x0=zeros(10,1); x,n=gauseidel(A,b,x0)x = 2.0000 1.0000 -3.0000 -0.0000 1.0000 -2.0000 3.0000 -0.0000 1.0000 -1.0000n =12 在迭代12次后得到方程的近似解用超松弛迭代的源程序?yàn)閒unction x,n=SOR(A,b,x0,w,eps,M)if nargin=4 e

16、ps=1.0e-6; M=200;elseif nargin4 error returnelseif nargin=5 M=200;endif(w=2) error; return;endD=diag(diag(A);L=-tril(A,-1);U=-triu(A,1);B=inv(D-L*w)*(1-w)*D+w*U);f=w*inv(D-L*w)*b;x=B*x0+f;n=1;while norm(x-x0)=eps x0=x; x=B*x0+f; n=n+1; if(n=M) disp(Warning:不收斂!); return; endend解第一個(gè)方程組選取抄松弛因子為1程序?yàn)椋篈=

17、4 2 -3 -1 2 1 0 0 0 0;8 6 -5 -3 6 5 0 1 0 0;4 2 -2 -1 3 2 -1 0 3 1;0 -2 1 5 -1 3 -1 1 9 4;-4 2 6 -1 6 7 -3 3 2 3;8 6 -8 5 7 17 2 6 -3 5;0 2 -1 3 -4 2 5 3 0 1;16 10 -11 -9 17 34 2 -1 2 2;4 6 2 -7 13 9 2 0 12 4;0 0 -1 8 -3 -24 -8 6 3 -1;,b=5 12 3 2 3 46 13 38 19 -21A = 4 2 -3 -1 2 1 0 0 0 0 8 6 -5 -3

18、6 5 0 1 0 0 4 2 -2 -1 3 2 -1 0 3 1 0 -2 1 5 -1 3 -1 1 9 4 -4 2 6 -1 6 7 -3 3 2 3 8 6 -8 5 7 17 2 6 -3 5 0 2 -1 3 -4 2 5 3 0 1 16 10 -11 -9 17 34 2 -1 2 2 4 6 2 -7 13 9 2 0 12 4 0 0 -1 8 -3 -24 -8 6 3 -1b = 5 12 3 2 3 46 13 38 19 -21x0=0 0 0 0 0 0 0 0 0 0;x,n=SOR(A,b,x0,1)Warning:不收斂!x = 1.0e+247 * 0

19、.0165 -0.0271 0.2202 -0.4576 -0.5951 0.3138 -0.4381 2.2450 0.0413 7.4716n = 200迭代次數(shù)太多可能不收斂解第2個(gè)的程序?yàn)锳=4 2 -4 0 4 2 0 0;2 2 -1 2 1 3 2 0;-4 -1 14 1 -8 -3 5 6;0 -2 1 6 -1 -4 -3 3;2 1 -8 -1 22 4 -10 -3;4 3 -3 -4 4 11 1 -4;0 2 5 -3 -10 1 14 2;0 0 6 3 -3 -4 2 19;,b=0 -6 20 23 9 -22 -15 45A = 4 2 -4 0 4 2 0

20、 0 2 2 -1 2 1 3 2 0 -4 -1 14 1 -8 -3 5 6 0 -2 1 6 -1 -4 -3 3 2 1 -8 -1 22 4 -10 -3 4 3 -3 -4 4 11 1 -4 0 2 5 -3 -10 1 14 2 0 0 6 3 -3 -4 2 19b = 0 -6 20 23 9 -22 -15 45 x0=0 0 0 0 0 0 0 0;x,n=SOR(A,b,x0,0.8)x = 3.5441 -4.8877 1.9482 0.4525 1.4283 -1.1606 -0.1081 1.6743n = 52得到結(jié)果為迭代了52次得到近似解松弛因子為0.8x

21、,n=SOR(A,b,x0,0.9)x = 3.5441 -4.8877 1.9482 0.4525 1.4283 -1.1606 -0.1081 1.6743n = 47得到結(jié)果為迭代了47次得到近似解松弛因子為0.9 x,n=SOR(A,b,x0,1)x = 3.5441 -4.8877 1.9482 0.4525 1.4283 -1.1606 -0.1081 1.6743n = 44得到結(jié)果為迭代了44次得到近似解松弛因子為1.0解第3個(gè)的程序?yàn)?A=4 -1 0 0 0 0 0 0 0 0;-1 4 -1 0 0 0 0 0 0 0;0 -1 4 -1 0 0 0 0 0 0;0 0 -1 4 -1 0 0 0 0 0;0 0 0 -1 4 -1 0 0 0 0;0 0 0 0 -1 4 -1 0 0 0;0 0 0 0 0 -1 4 -1 0 0;0 0 0 0 0 0 -1 4 -1 0;0 0 0 0 0 0 0 -1 4 -1;0 0 0 0

溫馨提示

  • 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)論