課題三線性方程組的迭代法_第1頁
課題三線性方程組的迭代法_第2頁
課題三線性方程組的迭代法_第3頁
課題三線性方程組的迭代法_第4頁
課題三線性方程組的迭代法_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、課題三線性方程組的迭代法對課題二所列目的和意義的線性方程組,試分別選用Jacobi對課題二所列目的和意義的線性方程組,試分別選用Jacobi迭代法,Gauss-Seidol迭代法和SOR方法計(jì)算其解。1、設(shè)線性方程組020602啞02060210060002IE*06超0301050606050703141噸1702.13080100000005000100020003030109070302170206*020503003420209020012超406300|0503HQ3505*6.06:02*8IH|H21|10 x*=(1,-1,0,1,2,0,3,1,-1,2)T2、設(shè)對稱正定陣系

2、數(shù)陣線方程組TOC o 1-5 h z104020002040000吟0,202超01030200:;:1401*0506106品0啞0106.03:3:_?3:0201224*01f11I510403IBH041101H.2.?00205IB011402”5:I00000003IBH0219|.71.5|8x*=(1,-1,0,2,1,-1,0,2)T3、三對角形線性方程組TOC o 1-5 h z000000000*I10,000!0o000o10,000!0o000o,0004000000,,3314.。.善04000052.004.000;.2;000400:,7!34:0000401

3、,11000004:,000000491.10X*=(2,1,-3,0,1,-2,3,0,1,-DT二、要求1、體會迭代法求解線性方程組,并能與消去法做以比較;2、分別對不同精度要求,女在=10-3,10-4,10-5由迭代次數(shù)體會該迭代法的收斂快慢;3、對方程組2,3使用SOR方法時(shí),選取松弛因子3=0.8,0.9,1,1.1,1.2等,試看對算法收斂性的影響,并能找出你所選用的松弛因子的最佳者;4、給出各種算法的設(shè)計(jì)程序和計(jì)算結(jié)果。三、目的和意義1、通過上機(jī)計(jì)算體會迭代法求解線性方程組的特點(diǎn),并能和消去法比較;2、運(yùn)用所學(xué)的迭代法算法,解決各類線性方程組,編出算法程序;3、體會上機(jī)計(jì)算時(shí),

4、終止步驟llx(k+1)-x(k)|(予給的迭代次數(shù)),對迭代法斂散性的意義;4、體會初始解x(0),松弛因子的選取,對計(jì)算結(jié)果的影響。四、迭代計(jì)算1、雅可比迭代法在進(jìn)行雅可比迭代之前,我們應(yīng)該先判斷迭代是否能夠收斂,這里我們使用雅可比迭代法收斂的充分必要條件(即,迭代矩陣的譜半徑小于等于1)。1、判斷方程組一使用雅可比迭代法是否收斂在matlab軟件中編寫程序:D=diag(diag(A);L=-tril(A,-1);U=-triu(A,1);B=D(L+U);t=eig(B)r=max(abs(t)可求出方程組一的雅可比迭代矩陣的特征值分別為:1.6604+3.8389i;1.6604-3

5、.8389i;-3.3952;-1.3286+1.5704i;-1.3286-1.5704i;-0.4754;-0.1912;0.9785;0.9568;1.4628顯然,其譜半徑大于1,則雅可比迭代法不收斂,故不可用雅可比迭代法進(jìn)行迭代求解??捎孟シㄇ蠼猓帉憁atlab高斯列主元消去法的程序如下:functionX=Gauss_pivot(A,b)n=length(b);X=zeros(n,1);c=zeros(1,n);d1=0fori=1:n-1max=abs(A(i,i);m=i;forj=i+1:nifmax=emgfori=1:nsum=0;forj=1:nifi=jsum=s

6、um+A(i,j)*x1(j);endendx2(i)=(b(i)-sum)/A(i,i);endt=abs(x2-x1);r=max(t);x1=x2;k=k+1;ifkNdisp(迭代失敗,返回);return;endkend調(diào)用雅克比求解線性方程組的程序,取初值x0=0;0;0;0;0;0;0;0;0;0,不同精度下求得解為:=10-3:則x2=2.0000;1.0000;-2.9997;-0.0006;1.0008;-2.0015;3.0010;-0.0016;1.0007;-1.0007,迭代次數(shù)k二10=10-4:貝Ux2=2.0000;1.0000;-2.9999;-0.0002

7、;1.0002;-2.0003;3.0002;-0.0003;1.0001;-1.0001,迭代次數(shù)k=12=10-5:則x2=2.0000;1.0000;-3.0000;0.0000;1.0000;-2.0000;3.0000;0.0000;1.0000;-1.0000,迭代次數(shù)k=15由方程組三雅克比的迭代過程可以看出,精度越高,所需迭代次數(shù)就越多,迭代速度也就越慢,但是其解也越來越接近與真值。當(dāng)=10-5時(shí),x2=2.0000;1.0000;-3.0000;0.0000;1.0000;-2.0000;3.0000;0.0000;1.0000;-1.0000,這與真值基本是相同的。2、高斯

8、-賽德爾迭代法同樣,在進(jìn)行高斯-賽德爾迭代之前,我們應(yīng)該先判斷迭代是否能夠收斂,這里我們使用高斯-賽德爾迭代法收斂的充分必要條件(即,迭代矩陣的譜半徑小于等于1)。1、判斷方程組一使用高斯-賽德爾迭代法是否收斂在matlab軟件中編寫程序:D=diag(diag(A);L=-tril(A,-1);U=-triu(A,1);B=(D-L)U;t=eig(B)r=max(abs(t)可求出方程組一的高斯-賽德爾迭代矩陣的特征值分別為:0;17.1222;-0.8196+4.1041i;-0.8196-4.1041i;0.9839;0.8639;-0.0220+0.1529i;-0.0220-0.1

9、529i;0.4784;0.0000顯然,其譜半徑為r=17.1222,大于1,則高斯-賽德爾迭代法不收斂,故不可用高斯-賽德爾迭代法進(jìn)行迭代求解。2、判斷方程組二使用高斯-賽德爾迭代法是否收斂與方程組一相似,求出方程組二的高斯-賽德爾迭代矩陣的特征值為:0;0.9947;0.5849+0.0782i;0.5849-0.0782i;0.3075+0.2159i;0.3075-0.2159i;0.0291;-0.0000其譜半徑r=0.9947,小于1,則方程組二使用高斯-賽德爾迭代法仍然收斂,故可用高斯-賽德爾迭代法求解。編寫matlab高斯-賽德爾迭代法程序如下:functionX=gsei

10、d(A,b,x0,delta,max1)N=length(b);fork=1:max1forj=1:Nifj=1X(1)=(b(1)-A(1,2:N)*x0(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)*x0(j+1:N)/A(j,j);endendt=abs(X-x0);r=max(t);x0=X;if(rdelta)breakendkend調(diào)用高斯-賽德爾求解線性方程組的程序,取初值x0=0;0;0;0;0;0;0;0;0;0

11、,不同精度下求得解為:=10-3:貝Ux2=1.3126;-1.3619;0.0775;1.8468;1.0320;-1.0685;0.0209;1.9882,迭代次數(shù)k=7=10-4:Ux2=1.1604;-1.1886;0.0377;1.9166;1.0133;-1.0342;0.0082;1.9953,迭代次數(shù)k=132=10-5:Ux2=1.0160;-1.0188;0.0038;1.9917;1.0013;-1.0034;0.0008;1.9995,迭代次數(shù)k=569由方程組二的高斯-賽德爾迭代過程可以看出,精度越高,所需迭代次數(shù)就越多,迭代速度也就越慢,但是其解也越來越接近與真值。

12、當(dāng)=10-5時(shí),x2=1.0160;-1.0188;0.0038;1.9917;1.0013;-1.0034;0.0008;1.9995,這與真值x*=(1,-1,0,2,1,-1,0,2基本是相同的。3、判斷方程組三使用高斯-賽德爾迭代法是否收斂與方程組一、方程組二相似,求出方程組二的高斯-賽德爾迭代矩陣的特征值為:0;0.2302;0.1769;0.1072;0.0431;0.0051;-0.0000+0.0000i;-0.0000-0.0000i;0.0000;-0.0000其譜半徑為0.2302,小于1,則方程組三使用高斯-賽德爾迭代法收斂,故可用高斯-賽德爾迭代法求解。調(diào)用高斯-賽德

13、爾求解線性方程組的程序,取初值x0=0;0;0;0;0;0;0;0;0;0,不同精度下求得解為:=10-3:則x2=2.0016;0.999;-3.0021;-0.0028;0.9986;-2.0003;3.00010.0001;1.0000;-1.0000,迭代次數(shù)k=4=10-4:則x2=1.9999;0.9998;-3.0002;-0.0001;1.0000;-2.0000;3.00000.0000;1.0000;-1.0000,迭代次數(shù)k=6=10-5:貝Ux2=2.0000;1.0000;-3.0000;-0.0000;1.0000;-2.0000;3.00000.0000;1.00

14、00;-1.0000,迭代次數(shù)k=8當(dāng)=10-5時(shí),x2=2.0000;1.0000;-3.0000;-0.0000;1.0000;-2.0000;3.00000.0000;1.0000;-1.0000,這與真值x*=(2,1,-3,0,1,-2,3,0,1,-1)是相同的。3、超松弛迭代法1、判斷方程組一使用超松弛迭代法是否收斂在matlab軟件中編寫程序:w=1.3D=diag(diag(A);L=-tril(A,-1);U=-triu(A,1);B=(D-w*L)(1-w)*D+w*U);t=eig(B)r=max(abs(t)可求出方程組一的超松弛迭代矩陣的譜半徑為r=164.0633

15、,大于1,則超松弛迭代法不收斂,故不可用超松弛迭代法進(jìn)行迭代求解。2、判斷方程組二使用超松弛迭代法是否收斂與方程組一相似,取w=1.3求出方程組二的超松弛迭代矩陣的特征值為:0.9902;0.4505+0.3101i;0.4505-0.3101i;0.1697+0.4168i;0.1697-0.4168i;0.0452;-0.0972+0.1215i;-0.0972-0.1215i其譜半徑r=0.9902,小于1,則方程組二使用超松弛迭代法收斂,故可用超松弛迭代法求解。編寫超松弛迭代法的matlab程序如下:functionx,k=SOR(A,b,w,N,r)x0=zeros(1,length

16、(b);n,n=size(A);k=1;whilek=Nx(1)=(b(1)-A(1,2:n)*x0(2:n)/A(1,1);fori=2:nx(i)=(1-w)*x0(i)+w*(b(i)-A(i,1:i-1)*x(1:i-1)-A(i,i+1:n)*x0(i+1:n)/A(i,i);endifmax(abs(x-x0)=rbreak;endk=k+1;x0=x;endifk=N+1disp(超過最大迭代次數(shù),求解失?。。?;end調(diào)用超松弛求解線性方程組的程序,取初值x0=0;0;0;0;0;0;0;0;0;0,取=10-5,分別取=0.8,0.9,1,1.1,1.2,1.3,1.4,1.5

17、,1.6,1.7,1.8,1.9,2時(shí),可得到不同的解:=0.8:J則x=1.0208;-1.0245;0.0049;1.9892;1.0017;-1.0044;0.0011;1.9994,迭代次數(shù)k=10=0.9:則x=1.0182;-1.0214;0.0043;1.9906;1.0015;-1.0039;0.0009;1.9995迭代次數(shù)k=604=1:則x=1.0160;-1.0188;0.0038;1.9917;1.0013;-1.0034;0.0008;1.9995迭代次數(shù)k=570=1.1:J則x=1.0144;-1.0169;0.0034;1.9926;1.0012;-1.003

18、1;0.0007;1.9996迭代次數(shù)k=538=1.2:J則x=1.0129;-1.0151;0.0030;1.9933;1.0011;-1.0027;0.0007;1.9996迭代次數(shù)k=510=1.3:J則x=1.0116;-1.0136;0.0027;1.9940;1.0010;-1.0025;0.0006;1.9997迭代次數(shù)k=484=1.4:J則x=1.0106;-1.0124;0.0025;1.9945;1.0009;-1.0023;0.0005;1.9997迭代次數(shù)k=459=1.5:J則x=1.0097;-1.0113;0.0023;1.9950;1.0008;-1.002

19、1;0.0005;1.9997迭代次數(shù)k=437=1.6:J則x=1.0089;-1.0104;0.0021;1.9954;1.0007;-1.0019;0.0004;1.9997迭代次數(shù)k=416=1.7:J則x=1.0082;-1.0096;0.0019;1.9958;1.0007;-1.0018;0.0004;1.9998迭代次數(shù)k=396=1.8:J則x=1.0076;-1.0088;0.0018;1.9961;1.0006;-1.0016;0.0004;1.9998迭代次數(shù)k=378=1.9:J則x=1.0070;-1.0081;0.0016;1.9964;1.0006;-1.001

20、5;0.0003;1.9998迭代次數(shù)k=361=2:則超過最大迭代次數(shù),求解失??!當(dāng)=1.9時(shí),x=1.0070;-1.0081;0.0016;1.9964;1.0006;-1.0015;0.0003;1.9998,這與真值x*=(1,-1,0,2,1,-1,0,2)是基本相同的。而當(dāng)=2,則超過最大迭代次數(shù),求解失?。?、判斷方程組三使用超松弛迭代法是否收斂與方程組一、方程二相似,取w=1.3求出方程組二的超松弛迭代矩陣的特征值為:-0.1055+0.2808i;-0.1055-0.2808i;-0.2957+0.0505i;-0.2957-0.0505i;-0.2635+0.1433i;

21、-0.2635-0.1433i;-0.1505+0.2595i;-0.1505-0.2595i;-0.2094+0.2148i;-0.2094-0.2148i其譜半徑r=0.3000,小于1,則方程組三使用超松弛迭代法收斂,故可用超松弛迭代法求解。調(diào)用超松弛求解線性方程組的程序,取初值x0=0;0;0;0;0;0;0;0;0;0,取=10-5,分別取=0.8,0.9,1,1.1,1.2時(shí),可得到不同的解:=0.8:則x=2.0000;1.0000;-3.0000;-0.0001;0.9999;-2.0000;3.0000;-0.0000;1.0000;-1.0000,迭代次數(shù)k=12=0.9:

22、則x=2.0000;1.0000;-3.0000;-0.0000;1.0000;-2.0000;3.0000;-0.0000;1.0000;-1.0000迭代次數(shù)k=10=1:則x=2.0000;1.0000;-3.0000;-0.0000;1.0000;-2.0000;3.0000;0.0000;1.0000;-1.0000迭代次數(shù)k=9=1.1:則x=2.0000;1.0000;-3.0000;0.0000;1.0000;-2.0000;3.0000;-0.0000;1.0000;-1.0000迭代次數(shù)k=9=1.2:則x=2.0000;1.0000;-3.0000;0.0000;1.0000;-2.0000;3.0000;-0.0000;1.0000;-1.0000迭代次數(shù)k二11=1.3:則x=2.0000;1.0000;-3.0000;0.0000;1.0000;-2.0000;3.0000;-0.0000;1.0000;-1.0000迭代次數(shù)k=13當(dāng)=1.1時(shí),x=2.0000;1.0000;-3.0000;0.0000;1.0000;-2.0000;3.000

溫馨提示

  • 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

提交評論