(完整word版)迭代法解線性方程組-數(shù)值分析實(shí)驗(yàn)報(bào)告_第1頁
(完整word版)迭代法解線性方程組-數(shù)值分析實(shí)驗(yàn)報(bào)告_第2頁
(完整word版)迭代法解線性方程組-數(shù)值分析實(shí)驗(yàn)報(bào)告_第3頁
(完整word版)迭代法解線性方程組-數(shù)值分析實(shí)驗(yàn)報(bào)告_第4頁
(完整word版)迭代法解線性方程組-數(shù)值分析實(shí)驗(yàn)報(bào)告_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、物力減節(jié)彳區(qū)數(shù)學(xué)與計(jì)算科學(xué)學(xué)院數(shù)值分析課程設(shè)計(jì)題 目:迭代法解線性方程組專業(yè):信息與計(jì)算科學(xué)學(xué)號: 1309302-24姓名:譚孜指導(dǎo)教師:郭兵成 績:二零一六年六月二十日、前言:(目的和意義)1 .實(shí)驗(yàn)?zāi)康恼莆沼玫ㄇ蠼饩€性方程組的基本思想和步驟。了解雅可比迭代法,高斯 -賽德爾法和松弛法在求解方程組過程中的優(yōu)缺點(diǎn)。2 .實(shí)驗(yàn)意義迭代法是用某種極限過程去逐步逼近線性方程組精確解的方法,它是解高階稀疏方程組的重要方法。迭代法的基本思想是用逐次逼近的方法求解線性方程組。比較雅可比迭代法,高斯-賽德爾迭代方法和松弛法,舉例子說明每種方法的試用范圍和優(yōu)缺點(diǎn)并進(jìn)行比較。二、數(shù)學(xué)原理:設(shè)有方程組Ax

2、= b將其轉(zhuǎn)化為等價(jià)的,便于迭代的形式x = Bx f(這種轉(zhuǎn)化總能實(shí)現(xiàn),如令B=I A, f =b),并由此構(gòu)造迭代公式x(k1) = Bx(k)式中B稱為迭代矩陣,f稱為迭代向量。對任意的初始向量 x(0),由式可求得向量序列x(k)若lim x(k) =x* ,則x*就是方程或方程的解。此時(shí)迭代公 k-.式是收斂的,否則稱為發(fā)散的。構(gòu)造的迭代公式是否收斂,取決于迭代矩陣B的性1 .雅可比迭代法基本原理設(shè)有方程組二 aijxj -bj(i =1,2,3,n)j i矩陣形式為 Ax = b,設(shè)系數(shù)矩陣A為非奇異矩陣,且 4 #0,(i =1,2,3,,n)從式中第i個(gè)方程中解出x,得其等價(jià)形

3、式x = (b - aijxj)aiij =1j 1取初始向量x(0)=(x,x20),,xn0),對式應(yīng)用迭代法,可建立相應(yīng)的迭代公式:n(k i) iXi = (-a。Xjbi)aiij4j 1也可記為矩陣形式:(k 4)x(k)x 一 二 BjFj-L -Uaiia21ania12a22an2a2nann式中aiia220 - 一 00一 -0 -ai2a2i 00mB s0:,.: I:ann _aniann二0 一 一。- ain |mann0aiia22ann Ja2ia3ia32an 2ann 40ai2ai30a23U =0aina2nan In0則方程Ax=b變?yōu)?D - L

4、 -U )x =b若將系數(shù)矩陣A分解為A=D-L-U,Dx =(L U )x bx 二D(L U )x Db二D(D - A)x Db 二(I DA)x D1b于是式中中的BJ = I D,A, 口 = D,b。式和式分別稱為雅克比迭代法的分量形式和矩陣形式,分量形式用于編程計(jì)算,矩陣型式用于討論迭代法的收斂性。2 .高斯一賽德爾迭代法高斯一賽德爾(Gauss-Seidel )迭代法,其迭代公式為 in(i=1,2,,n)(k -1)1(k 1)、(k)xi二一ajxjajxjbi)aii j 1j 4 1也可以寫成矩陣形式x(k.JBGsx(k)”仍將系數(shù)矩陣A分解為A-D -L -U則方程

5、組變?yōu)?D - L -U )x =b得Dx = Lx Ux b將最新分量代替為舊分量,得Dx(k 1) = Lx(k Ux(k) b即(D _ L)x(k 1) =Ux(k) . b于是有x(k 1) =(D - L)Ux(k) (D - L)b所以Bg =(D -L)4UfG4 =(D -L)b3 .超松弛迭代法設(shè)已知第k次迭代向量x(k),及第k+1次迭代向量的前i-1個(gè)分量x(k*) ,(j=1,2,口),現(xiàn)在研究如何求向量 x(k41)的第i個(gè)分量xi(k41)。首先,有高斯一賽德爾迭代法求出一個(gè)值,記為Ai 4n(k 1)1(k 1) t (k) ,、xi=(biajxj一乙 ajx

6、j )(i=1,2,n)aiij 1j 二 1再將第k次迭代向量的第i個(gè)分量x(k)與:由進(jìn)行加權(quán)平均,曰(k 1)彳寸X ,即:x(ki)=(i_)Xi(k) y1)= x(k) -.(i(k1) -x(k)于是的SO砒代公式i 1n(k 1)(k)(k 1)、:(k)、Xi=x + (bi -Z ajXj -Z ajXj ) (i=l,2, n)aiij 1jJ或i Jnx(k+) _(1s)x(k)+巴(b ya x(k+) Ta x(k)ri=12 2xi (j w)xi丁 (bi乙aj xj 乙aj xj )( i=i,2, n;®aiij 1j ± 1當(dāng)0 =1

7、時(shí),式即為高斯一賽德爾迭代法;當(dāng)0, .<1時(shí),式稱為低松弛方法,當(dāng)某些方程組用高斯一賽德爾迭代法不收斂時(shí), 可以用低松弛方法獲得收斂;當(dāng)。>1時(shí),式稱為超松弛方法,可以用來提高收斂速度。將式寫成矩陣的形式,得:DX (k =(1 - )DX (k) .(b LX (k1) UX (k)即(D _ .L)x(k 1) =(1 - .)D,Ux(k),b于是得SOR1代的矩陣表示x(k 1) = B,X(k) - f .式中B =(D - L) J(1 - )D U 1 f:,-.:伏(D 底L) b三、舉例說明及代碼例1:解下面方程組.(雅克比迭代方法、高斯-賽德爾和松弛法的比較)

8、12- 2 x 11111x2=1, 221_ x3_1解:先計(jì)算迭代矩陣:0- 22B J = D -1( L + U) =-10-1' - 2- 20 j0-22Bg =( D-L)-1U = 02- 3002 jBj與Bg的特征值跟收斂半徑為“Bj) =0, ( i =1,2,3) , P (Bj) = 0<1 ki(B。= 0, %,3(Bg)= 2, p (Bg) = 2>1所以,用雅可比迭代法求解,迭代過程收斂,而用高斯-塞德爾迭代法求解, 迭代過程發(fā)散取x°=(0;0;0),為達(dá)到精度10-5,取w=0.1雅可比迭代法松弛法3184代碼:1 .雅可比

9、迭代法function x,k=jacobi(A,b,x0,esp)%k 為迭A=input('Input A=');b=input('Input b=');x0=input( 'Input x0=');esp=1.0e-5; k=0; n=length(b);x=x0;while max(abs(b-A*x0)>esp&k<=500;for i=1:nsum=0; for j=1:n if j=i sum=sum+A(i,j)*x0(j);endend x(i)=(b(i)-sum)/A(i,i);endx0=x; k=k+

10、1; if k>500 fprintf( '迭代達(dá)到上限) returnend endkInput A=1 2 -2;1 1 1;2 2 1;Input b=1 1 1'Input x0=0 0 0'運(yùn)行結(jié)果:k =3ans =-3312 .高斯-賽德爾迭代法clear;clc;A=1 2 -2;1 1 1;2 2 1; b=1 1 1'N=length(b);%解向量的維數(shù)fprintf( '庫函數(shù)計(jì)算結(jié)果:); x=inv(A)*b %庫函數(shù)計(jì)算結(jié)果 x=zeros(N,1); %迭代初始值 %(A=D-E-F) D=diag(diag(A);

11、 E=-tril(A,-1);%F 三角F=-triu(A,1);%± 三角B=inv(D-E)*F;g=inv(D-E)*b;eps=0.0001;咐目鄰解的距離小于該數(shù)時(shí),結(jié)束迭代% 開始迭代for k=1:1000%<大迭代次數(shù)為 100fprintf( '第d 次迭代:',k); y=B*x+g;fprintf( 'n 與上次計(jì)算結(jié)果的距離(2 范數(shù)):f?n' ,norm(x-y)A2); if norm(x-y)<eps break ; end x=y end x運(yùn)行結(jié)果:(因?yàn)榘l(fā)散結(jié)果不能確定)3 .松弛迭代法w=0.1;da

12、lt=1.0e-5;A=1 2 -2;1 1 1;2 2 1;b=1 1 1'r=size(b);a=b;x0=zeros(3,1);x=x0;4 =r;m=0;e=1;for t=1:ra(t尸A(t,t);A(t,t)=0; A(t,:)=A(t,:)/a(t);endb=b./a;root=0 x'while e>daltroot=m;e=0;for i=1:rt=x(i);x(i)=(1-w)*x(i)+w*(b(i)-A(i,:)*x);root=root x(i);t=abs(x(i)-t);if t>ee=t;endendrootm=m+1;end運(yùn)行

13、結(jié)果:root =184.0000 -3.0001 3.0000 1.0000例2:(超松弛法)達(dá)到同樣的精度10-5,松弛因子的不同,會使得收斂速度大大不同(w取 1.0 1.9 )4111- 41I 11- 4_1111X111x211 I X31-44 一 工代碼:w=1;dalt=1.0e-5;A=4 1 1 1;1 -4 1 1;1 1 -4 1;1 1 1-4;b=1;1;1;1;r=size(b);a=b;x0=zeros(4,1);x=x0;r=r(1);m=0;e=1;for t=1:ra(t尸A(t,t);A(t,t)=0;A(t,:)=A(t,:)/a(t);endb=b

14、./a;root=0 x'while e>daltroot=m;e=0;for i=1:rt=x(i);x(i)=(1-w)*x(i)+w*(b(i)-A(i,:)*x);root=root x(i);t=abs(x(i)-t);if t>ee=t;endendroot m=m+1;end運(yùn)行結(jié)果整理:松弛因子迭代次數(shù)松弛因子迭代次數(shù)1.071.6321.181.73368 (不收斂)1.2101.81946 (不收斂)1.3131.91372 (不收斂)1.4171.523例3:用三種方法分別計(jì)算下列方程組并進(jìn)行比較:10 -1-2 Xi 7.2-1 10 - 2 X2

15、= 8.311-1 -15X3_4.2解:雅克比迭代法1)改寫成等價(jià)形式X210 (7.2 X2 2X3),1八、一 (8.3 X1 2X3), 102)X3=一(4.2X1X2).構(gòu)造迭代公式,即為雅可比迭代公式x(k1)力7.2 x2k, 2x3k),= ±(8.3 斕 2x3k),x3k 1)1(4.2 x(k)x2k),k = 0,1,2,53)取初始向量x(0) =(0,0,0)T ,即x(0) =x20) =x3°) =0,代入上式,求出x(1) =0.72x21)=0.83x31)=0.84依次迭代,計(jì)算結(jié)果如下表:要求精度迭代次數(shù)方程組的近似解0.017(1

16、.0994,1.1994,1.2993 )0.0019(1.0999, 1.1999,1.2999 )0.000113(1.1000,1.2000,1.3000 )高斯-賽德爾迭代法)原方程組改為等價(jià)方程組xiX2110110(7.2 X2 2x3),(8.3 Xi2x3),x3一 (4.2 x1 x2).)構(gòu)造迭代公式,即為高斯-賽德爾迭代公式xlkw =,(7.2 + x2k) +2x3k),x2k 1) = (8.3 x1(k 9 2x3k),10x3k1) =1(4.2x1(k 1)3x2k 1), k = 0,1,2,.5)取初始向量x(0) =(0,0,0)T ,即xj0) =x2

17、0) =x30) = 0,代入上式,求出x:) =0.72 x/: 0.902 x31)=1.1644迭代計(jì)算下去,得下表要求精度迭代次數(shù)方程組的近似解0.014(1.0931 , 1.1957,1.2978 )0.0015(1.0991,1.1995,1.2997 )0.00017(1.1000,1.2000,1.3000 )超松馳迭代法(取松馳因子金=1.3).利用SORT法,構(gòu)造迭代公式Xif=xi(k)+?(7.2.i0xi(k)+x2k)+2x3k),-x產(chǎn)=x2k) +.(8.3 + xf-10x2k)+2x3k),x")=x3k)+£(4.2+Xi(k'

18、;)+x2k).5x3k).與高斯-賽德爾方法相同,初值為x(0)=(0,0,0)T .迭代計(jì)算結(jié)果列于下表要求精度迭代次數(shù)方程組的近似解0.015(1.0986,1.1998,1.0331 )0.0017(1.0999,1.2000,1.2999 )0.00018(1.1000,1.2000,1.3000 )代碼:i.雅可比迭代法functionx,k=jacobi(A,b,x0,esp)%k為迭A=input('Input A=');b=input('Input b=');x0=input('Input x0=');esp=i.0e-5; k

19、=0; n=length(b); x=x0;while max(abs(b-A*x0)>esp&k<=500;for i=i:nsum=0; for j=1:n if j=i sum=sum+A(i,j)*x0(j);endend x(i)=(b(i)-sum)/A(i,i);endx0=x; k=k+1;if k>500 fprintf( '迭代達(dá)到上限) return end end kInput A=10 -1 -2;-1 10 -2;-1 -1 5;Input b=7.2 8.3 4.2'Input x0=0 0 0'運(yùn)行結(jié)果:k =1

20、3ans =1.10001.20001.30002 .高斯-賽德爾迭代法clear;clc;A=10 3 1;2 -10 3;1 3 10; b=14 -5 14'N=length(b);%解向量的維數(shù)fprintf( '庫函數(shù)計(jì)算結(jié)果:); x=inv(A)*b %庫函數(shù)計(jì)算結(jié)果 x=zeros(N,1); %迭代初始值 %(A=D-E-F) D=diag(diag(A); E=-tril(A,-1);%F 三角F=-triu(A,1);%± 三角B=inv(D-E)*F;g=inv(D-E)*b; eps=0.0001;咐目鄰解的距離小于該數(shù)時(shí),結(jié)束迭代% 開始迭

21、代for k=1:100%!大迭代次數(shù)為 100fprintf( '第d 次迭代:',k); y=B*x+g;fprintf( 'n 與上次計(jì)算結(jié)果的距離(2 范數(shù)):f?n',norm(x-y)A2); ifnorm(x-y)<eps breakend x=yendx運(yùn)行結(jié)果:k=7x =1.00001.00001.00003 .松弛迭代法w=1.3;dalt=1.0e-2;A=10,-1,-2;-1,10,-2;-1,-1,5;b=7.2,8.3,4.2'r=size(b);a=b;x0=zeros(3,1);x=x0;r=r(1);m=0;e

22、=1;for t=1:ra(t尸A(t,t);A(t,t)=0;A(t,:)=A(t,:)/a(t);endb=b./a;root=0 x'while e>daltroot=m;e=0;for i=1:rt=x(i);x(i)=(1-w)*x(i)+w*(b(i)-A(i,:)*x);root=root x(i);t=abs(x(i)-t);if t>ee=t;endendrootm=m+1;end運(yùn)行結(jié)果:root =root =0 0.9360 1.2007 1.6475root =1.00001.23961.30831.2602root =2.00001.06181.

23、15221.2896root =3.00001.10251.21201.3069root =4.00001.10261.19851.2982root =5.00001.09861.19981.3001例4:用三種方法分別計(jì)算下列方程組并進(jìn)行比較:一2-1一11X2-1X3-1解:雅克比迭代法2)改寫成等價(jià)形式1 .、=一(XiX3),21 -、=2(1X2 X4),X42)構(gòu)造迭代公式,即為雅可比迭代公式x1 4(1x2),1a"."(乃,2x2k1)=(x(k)x3k),x3k1)(1x2k)x4k),k 11 k X45 x3 k = 0,1,2,.代入上式,求出3)取

24、初始向量 x(0) =(1,1,1,1)T ,即 x* = x20) = x30)x() u1,x2) u1,x3) =1.5 x4:0.5依次迭代,計(jì)算結(jié)果如下表:要求精度迭代次數(shù)方程組的近似解0.0121(1.1986,1.3939,1.5977,0.7962)0.00132(1.1996,1.3998,1.5994,0.7999)0.000153(1.2000,1.4000,1.6000,0.8000)高斯-賽德爾迭代法1 )原方程組改為等價(jià)方程組x12(1 x2),1 ,.、x2 - 一( x1x3 ),J + 、x3 = 2(1 + 乂2 + 乂4),12 )構(gòu)造迭代公式,即為高斯2

25、-賽德爾迭代公式(k 1)x1(k 1) x2(k1) x3= 2(1 x2k),(xT)x3k),2= 2(1 x2k1)W)x4-x3 .k = 0,1,2,.X7X1nBA3 )取初始向量 x(0) =(1,1,1,1)T ,X=1,x21)=1,x"l.5, x41)=0.75迭代計(jì)算下去,得下表要求精度迭代次數(shù)方程組的近似解0.018(1.1880,1.3843,1.5873,0.7936)0.00114(1.1991,1.3988,1.5990,0.7995)0.000119(1.1999,1.3999,1.5999,0.7999)超松馳迭代法(取松馳因子。=1.4).利

26、用SORT法,構(gòu)造迭代公式(k 1)(k)(k)(k)、Xi= X (1 - 2x1x2 ),2(k 1)(k)(k 1)(k)(k)、X2=X2(X1-2X2X3 ),2X3k1) =X3k) (1X2k1).2X3k)X4k),2(k 1)(k)'( (k 1) c (k)、X4=X4 (X3-2X4 ).2與高斯-賽德爾方法相同,初值為x(0) =(1,1,1,1)T.迭代計(jì)算結(jié)果列于下表要求精度迭代次數(shù)方程組的近似解0.016(1.1961,1.3984,1.5987,0.7994)0.0018(1.1998,1.4000,1.6002,0.8000)0.000112(1.20

27、00,1.4000,1.6000,0.8000)代碼:1 .雅可比迭代法functionx,k=jacobi(A,b,x0,esp)%k為迭A=input('Input A=');b=input('Input b=');x0=input('Input x0=');esp=1.0e-2; k=0; n=length(b); x=x0;while max(abs(b-A*x0)>esp&k<=500;for i=1:nsum=0; for j=1:n if j=i sum=sum+A(i,j)*x0(j);endend x(i)=

28、(b(i)-sum)/A(i,i);endx0=x; k=k+1; if k>500 fprintf( '迭代達(dá)到上限) returnend endkInput A=2 -1 0 0;-1 2 -1 0;0 -1 2 -1;0 0 -1 2;Input b=1 0 1 0'Input x0=1 1 1 1'運(yùn)行結(jié)果:k =21ans =1.19861.39391.59770.79622 .高斯-賽德爾迭代法clear;clc;A=2 -1 0 0;-1 2 -1 0;0 -1 2 -1;0 0 -1 2;b=1 0 1 0'N=length(b);%解向量

29、的維數(shù)fprintf( '庫函數(shù)計(jì)算結(jié)果:);x=inv(A)*b%庫函數(shù)計(jì)算結(jié)果x=ones(N,1); %迭代初始值%(A=D-E-F)D=diag(diag(A);E=-tril(A,-1);%F 三角F=-triu(A,1);%± 三角B=inv(D-E)*F;g=inv(D-E)*b;eps=0.01;咐目鄰解的距離小于該數(shù)時(shí),結(jié)束迭代% 開始迭代for k=1:100%!大迭代次數(shù)為100fprintf( '第d 次迭代:',k);y=B*x+g;fprintf( 'n與上次計(jì)算結(jié)果的距離(2 范數(shù)):f?n',norm(x-y)A2);ifnorm(x-y)<eps break ; end x=yend x運(yùn)行結(jié)果: k=8x =1.18801.38431.58730.79363.松弛迭代法w=1.4;dalt=1.0e-2;A=2 -1 0 0;-1 2

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論