直接法解線性方程組_第1頁
直接法解線性方程組_第2頁
直接法解線性方程組_第3頁
直接法解線性方程組_第4頁
直接法解線性方程組_第5頁
免費預覽已結(jié)束,剩余18頁可下載查看

下載本文檔

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

文檔簡介

1、數(shù)學與計算科學學院實驗報告實驗項目名稱直接法解線件方程組所屬課程名稱數(shù)值方法 A實驗類型驗證型實驗日期 2014.11.28班級信計 12-學號 201253100姓名沙理工大實驗概述:【實驗目的】1 .掌握用 C 語言編程實現(xiàn)追趕法求解三對角線性方程組;2 .掌握運用高斯列主元消去法解線性方程組;3 .加深對解線性方程組的直接法一一高斯列主消元法和 LU 分解法的構(gòu)造過程的理解;4 .熟悉并掌握各種方法的適用對象及優(yōu)缺點,學會針對不同問題選擇不同方法;5 .培養(yǎng)使用電子計算機進行科學計算和解決問題的能力?!緦嶒炘怼? .追趕法原理用追趕法解三對南線性方法組月工用追趕法解三對南線性方法組月工

2、= =工其中工其中并且并且 滿足滿足:|:a0(D(2)原本2002Servic*Fack3VC+6.02 .高斯列主元消去法列上元而斷消人法計算步驟:_JL“1、h,amc 表示.步驟h消兀過程,對4=12-(D選生無,找40他無十1,使得(2)如果=則矩陣4奇異J程序結(jié)束:否則執(zhí)行(3).(3和樂;則交換第卜打與第打?qū)Ω性匚恢?%J%,,=公(4)ifl兀,忖”七,計算4=%/%+對,=七+1,計算步驟北回代過程;cn若加二,則在陣奇異,程序結(jié)束;否則執(zhí)行2,f?!靶?;對并一,計笄IHFCoryorition惠普系列電胸IlLteldl)匚or白CrM)15-2400CPU03.10GH

3、z3.09由工,3.1&GE 的內(nèi)存物理地址獷屣2.軟件環(huán)境Mivr3ot.VixtdovsXPfroffeEsianal、實驗內(nèi)容:【實驗過程】(實驗步驟)1.硬件環(huán)境1 .實驗步驟1 )深入了解解題過程并依次寫出解題算法;2)依照算法用 C 語言編寫解題程序;3 )上機時將寫好的程序輸入到 VC+升并調(diào)試運行得出方程的解;4 )比較幾種方法之間的聯(lián)系與區(qū)別。2.1 追趕法根據(jù)以上的實驗原理,在 VC+編輯框中輸入源程序:ttincludettincludettincludettdefineMfiX_n100definePRECISION0.060091uoidSulutionOut

4、putx,intn)inti;for(i=1;i=n;+i)printf(AnxC%!-V,i.N1);uoldTrlDlagonalMatrixlnput(floata,Floatb,Floatc|.FloatfJvlntn)inti;Q1:,) );sc3nF(FW,&b1f&c1;For(i=2;i 常常d,f莒莒d:n,n,n);scanF(W,&an,&bn,&Fn);uold2_G_method(Float,FloatbvFloatc,floatf,lntn) inti;cl/=blj;Fur(i-2:in;+i)cl/=(bi-al*ci-

5、l);口口1仁仁for(i=2;i0;i)fi-cifi+1;Uoldnaln()(intn;FloataMRX_n,bMHX_n,cMHX_n:FloatFMAX_n;prjntF n請輸入請輸入n-+);scanfC,,d*,1ftn);TriDiagonalMatrixlnput(a,b,cfFrn);Z_G_method(a.bBcBf,n);SulutionOutput(ffn);|2-1-12-1A-12-1-12-1-12由原理可知:b1=2,c1=-1,f1=1a2=-1,b2=2,c2=-1,f2=0a3=-1,b3=2,c3=-1,f3=0a4=-1,b4=2,c4=-1,

6、f4=0a5=-1,b5=2,f5=0將上述系數(shù)逐個輸入運行框,并經(jīng)過多次調(diào)試運行,最終運行出結(jié)果如下:10f000C:UserssamDesktopDebugCpp3cpp.exe。人n=Uurrj:2-ii日入atZLb12Lc2l2:l:-l2r41,h(4.cl41-fC41:-l2x11=-8.449931Mr21=-1.899Sfilx31-2.174792::41=-2.Z441C?xt51=1.372917Pressanykeytocoritinue“J2.1Gauss 消元法1)數(shù)據(jù)輸入 main(void)(floatA44=0.4096,0.1234,0.3678,0.2

7、943,0.2246,0.3872,0.4015,0.1129,0.3645,0.1920,0.3781,0.0643,0.1784,0.4002,0.2786,0.3927;floatb4=0.4043,0.1550,0.4240,-0.2557;floatx4=0;floatAik,S;inti,j,k;intsize=4;printf(An);for(i=0;isize;i+)printf(%f,Aij);printf(n);)printf(bn);for(i=0;isize;i+)printf(%f,bi);printf(nn);2)消去過程/消去過程for(k=0;ksize-1;k

8、+)if(!Akk)return-1;for(i=k+1;isize;i+)Aik=Aik/Akk;for(j=k;jsize;j+)Aij=Aij-Aik*Akj;)bi=bi-Aik*bk;)/消去的結(jié)果printf(AnH);for(i=0;isize;i+)for(j=0;jsize;j+)printf(%f,Aij);)printf(bn);for(i=0;i=0;k-)S=bk;for(j=k+1;jsize;j+)S=S-Akj*xj;)xk=S/Akk;)4)結(jié)果輸出/solutionprintf(Thesolutionx=n);for(i=0;isize;i+)printf(

9、%f,xi);return0;得如下結(jié)果:1C:UserssamDesktopDebugCppLexeLJLJI.4096H08.123400U.36?8000.294396Q.3G726S6.40L&G00.115361.364580&-L3260B6.71600.06433BU.4M2IMW.39271(1rii.40400Q-iEeSOS.424600-B-2GE7G0JI.4H9A0HR.1224m94m時同I.0O0QO00-91953G8.199821-0.34B47&B_0090000.006080-0.ee058-0.185127Q-9WQ090.606

10、000-O.0QB0Q030.7251591.404080-8.6G66940.091371-13.725052hesolutionxt1=0_18191S1.66303。2.21722S0.44G704PrescanyAce/tocontinue0.181918門口1.663030即X2.2172280.4467042.2 列主元消去法1)數(shù)據(jù)輸入intmain(void)(floatA44=0.4096,0.1234,0.3678,0.2943,0.2246,0.3872,0.4015,0.1129,0.3645,0.1920,0.3781,0.0643,0.1784,0.4002,0.2

11、786,0.3927;floatb4=0.4043,0.1550,0.4240,-0.2557;floatx4=0;floatAik,S,temp;inti,j,k;floatmax;/歹!J 主元的絕對值intcol;/列主元所在的行intsize=4;printf(A叩n);for(i=0;isize;i+)(for(j=0;jsize;j+)printf(%f,Aij);printf(n);printf(bn);for(i=0;isize;i+)printf(%f,bi);printf(nn);2)消去過程/消去過程for(k=0;ksize-1;k+)(max=fabs(Akk);co

12、l=k;/查找最大元素所在的行for(i=k;isize;i+)(if(maxfabs(Aik)(max=fabs(Aik);col=i;printf(col:%dn,col);for(j=k;jsize;j+)(temp=Acolj;Acolj=Akj;Akj=temp;temp=bcol;bcol=bk;b止temp;if(!Akk)return-1;for(i=k+1;isize;i+)(Aik=Aik/Akk;for(j=k;jsize;j+)(Aij=Aij-Aik*Akj;bi=bi-Aik*bk;/消去的結(jié)果printf(An);for(i=0;isize;i+)(for(j=0

13、;jsize;j+)printf(%f,Aij);printf(n);printf(bn);for(i=0;i=0;k-)S=bk;for(j=k+1;jsize;j+)S=S-Akj*xj;xk=S/Akk;4)結(jié)果輸出/solutionprintf(Thesolutionx=n);for(i=0;isize;i+)printf(%f,xi);return0;將上述各部分程序組合到一起并調(diào)試運行得出結(jié)果如下:1C:UserssamDesctopDebugCpp2+exeRLJLJM.4096H08.123400U.36?8000.294396如。GQ.3G726S6.40L&300.

14、11536p.3S5皿a.l?84HWha.4043O(J&-LS2G0BV.4時陽0.15EHSO6.37160e.2716MH0.424酗60.0643修.剎27此-O.2GE7G0col:UDO1:2col:3B.4096808.123400O.3678B0Mi.nHffiHHW_344S4R.1184Q0.294336。史E皿q0_08O090.0000880.098615id.272443HULUUkJHMd-a.MSLMUMU.UUUM-0.IS7057bM.404330-0.431792Q.23149日.酗1hesolutionxLJ=-0_1819191.6630312

15、.2172300.446704Pressanvkeytocontinue0.1819191.6630312.2172300.446704kGL1S191S12.21722S-0.446704Preeanjky七口cantxnne【實驗結(jié)論】(結(jié)果)1.追趕法結(jié)果2.高斯消去法和列主元消去法1)高斯消去法結(jié)果截圖:CAUsersamDeskropDebuqCppLexeALJLJI.489tee9.34500U.17S4BMh”3.404300瓦1234330.38030.172300kL4tM匕MHB.367S80B.401S000.3/fcl0ldU.27bbtlM0.424006S.243

16、000.1139000.0t430BH-3必陽RH.4B9&HRI3.00036BI-0.003600-0.O00SBOsri3.404300n.1234PIHe.319E3E0.19SB21fl.2400-0.94S4760.eH0B80-0.008598-B.18S1278.806000-0.30000030.7251590.9566940-081371-13.725052IIhesolutianxl1=2)列主元消去法結(jié)果截圖:.409.2246前.3心如口0.17S400LJ.4043酗Q.003609-0.000080.890615-fl.292443凡萌酬修-B,00000

17、0風則電崎日-H.187HS7.4B438B-0.43J7T20-3315470.98355?liesolutiorxll1=0.181919-1.GG3a?l2.217230-Q.44G704Preseanykey七口Dantxnue【實驗小結(jié)】(收獲體會)通過運用追趕法來求解三對角方程組的問題.追趕法是用來求解三對角方程組的專用方法,對于三對角方程組,追趕法比 Gauss 消去法的計算量要小的多。本次實驗讓我了-0.2557B0CAUserssamDe$kropDebugCppLexe0.1234U0A,5K720fl0-1920Q00.400208;ul;0ol:3口1:3.4B9G6Q

18、i.QBaaeQ_1234000_3164540.24300e,04J0e0.327080-2可鉗as0.264S190.3G7B800.116406U.3G?800月.包H5蒯.376106解到了 C 語言功能的強大,也讓我意識到了算法對于程序編寫的重要程度,只有學好邏輯,學好算法,才能使用編程使計算精度進一步提高。三、指導教師評語及成績:評語等級評語優(yōu)良中及格/、及格1.實驗報告按時完成,字跡清楚,文字敘述流暢,邏輯性強2.實驗方案設計合理3.實驗過程(實驗步驟詳細,記錄完整,數(shù)據(jù)合理,分析透徹)4 實驗結(jié)論正確.成績:指導教師簽名:批閱日期:附錄:源程序程序 1:#include#inc

19、lude#include#defineMAX_n100#definePRECISIONO.000001voidSulutionOutput(floatx口,intn)inti;for(i=1;i=n;+i)printf(nx%d=%f,i,xi);voidTriDiagonalMatrixInput(floata,floatb口,floatc,floatf,intn)inti;printf(請輸入 b1,c1,f1:);scanf(%f%f%f,&b1,&c1,&f1);for(i=2;in;+i)(printf(請輸入 a%d,b%d,c%d,f%d:,i,i,i,i

20、);scanf(%f%f%f%f,&ai,&bi,&ci,&fi);)printf(請輸入 a%d,b%d,f%d:,n,n,n);scanf(%f%f%f,&an,&bn,&fn);)voidZ_G_method(floata,floatb,floatc,floatf,intn)(inti;c1/=b1;for(i=2;in;+i)ci/=(bi-ai*ci-1);f1/=b1;for(i=2;i0;-i)fi-=ci*fi+1;)voidmain()(intn;floataMAX_n,bMAX_n,cMAX_n;floatfMAX_n

21、;printfCn 請輸入 n=);scanf(%d,&n);TriDiagonalMatrixInput(a,b,c,f,n);Z_G_method(a,b,c,f,n);SulutionOutput(f,n);程序2:1)高斯消去法程序:#includemain(void)floatA44=0.4096,0.1234,0.3678,0.2943,0.2246,0.3872,0.4015,0.1129,0.3645,0.1920,0.3781,0.0643,0.1784,0.4002,0.2786,0.3927;floatb4=0.4043,0.1550,0.4240,-0.2557

22、;floatx4=0;floatAik,S;inti,j,k;intsize=4;printf(An);for(i=0;isize;i+)for(j=0;jsize;j+)printf(%f,Aij);printf(n);printf(bn);for(i=0;isize;i+)printf(nn);/消去過程for(k=0;ksize-1;k+)(if(!Akk)return-1;for(i=k+1;isize;i+)(Aik=Aik/Akk;for(j=k;jsize;j+)(Aij=Aij-Aik*Akj;bi=bi-Aik*bk;/消去的結(jié)果printf(An);for(i=0;isiz

23、e;i+)(for(j=0;jsize;j+)printf(%f,Aij);printf(n);printf(bn);for(i=0;i=0;k-)(S=bk;for(j=k+1;jsize;j+)(S=S-Akj*xj;xk=S/Akk;/solutionprintf(Thesolutionx=n);for(i=0;isize;i+)printf(%f,xi);return0;2)列主元消去法程序:#include#includeintmain(void)(floatA44=0.4096,0.1234,0.3678,0.2943,0.2246,0.3872,0.4015,0.1129,0.3645,0.1920,0.3781,0.0643,0.1784,0.4002,0.278

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論