《數值分析》期中報告

《數值分析》期中報告

ID:44587646

大小:230.44 KB

页数:5页

时间:2019-10-23

《數值分析》期中報告_第1页
《數值分析》期中報告_第2页
《數值分析》期中報告_第3页
《數值分析》期中報告_第4页
《數值分析》期中報告_第5页
资源描述:

《《數值分析》期中報告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、《數値分析》期中報告Z44160179袁惠茹一、題目:利用Gauss-Seidel法,以初始値兀=[0,0,0]7,求解聯立方程組4.63兀]一1.21兀2+3.22兀3=2.22,—3.07+5.48%2+2.11心=—3.17,1.26州+3.11兀2+4.57心=5」1。並利用鬆馳法(over-relaxiation),求取最佳Zw值。二、相關槪念:(―)Gauss-SeidelIteration:Proceedeachx-valueusingalwaysthemostrecentapprox

2、imationsofothervariables.TherateofconvergenceforGauss-SeidelismorerapidthanthatforJacobi.(Z2)Over-relaxing:ThestandardrelationshipforGauss-SeideliterationforthesetofequationsAx=b,forvariablexi9canbewrittenasn-zj=i+aUXJ(k)wherethesuperscript伙+1)indicat

3、esthe(k+1)iterate.Analgebraicallyequivalentformisbecausex.k}isbothaddedtoandsubtractedfromtherightside.RelaxationcanbeappliedtogetwhichiscalledowMelaxation(過度鬆弛法)if1

4、數器記錄迭代的次數,初始化爲0,4.63-1.213.22ii.定義一維數組A⑶⑶來表示矩陣—-3.075.482.111.263」14.57「2.22iii.並定義數組b[3]來表示矩陣-3.175.11iv.用x[3]來存放xl,x2,x3的值,初值均為0,v.以xsave[3]來存放三個變量的臨時取值,vi.定義變量TOL表示允許的最大誤并,並賦初值1.0e-4,vii.定義errmax表示誤差值。viii.定義文件指針fPtr,指向用來存放輸出的文件。b)運算過程:建立while循環,每次循

5、環使值icount值加1表示完成一次迭代,同時將xl,x2,x3的hna,.舊值分別存放到xsave[0],xsave[1],xsave⑵中,並以公式无-工亠兀i=1,2,3計算5;=1anxl,x2,x3的值,將計算得出的值寫入文件,並計算誤差errmax,一直進行上述循環直至誤差值小於允許的最大誤差TOL時,跳出循環並關閉文件。c)運算結果:代碼運行結束後可在創建的output.dat文件小查看疊代次數及每一次疊代過程小的三個未知數的值。(二)過度鬆馳法:a)變量定義:除了上面所定義的變量再新增

6、xx[3]和wob)運算過程:i.建立血循環,循環變量爲w,取値爲0.8到1.7,每循環一次w値加0.1,ii.先將icount值賦為0,用來完成對於每一個w值所進行的迭代次數的統計,iii.在for循環中建立while循環,並以xx來代替x,iv.將xx的舊値存放在xsave屮,並用公式,1,2,3來計算xl,x2,x3的值,v.計算誤羌errmax,Vi.將當前w值,針對該W正在進行的迭代次數icount和本次迭代中的三個x值輸出,vii.一直進行該while循環直到誤差值errmax小於允許的

7、最大誤差TOL時將此時的w和對應的最終icount寫入文件並跳出循環。c)運算結果:運算結束後可在牛成的文件output.dat中查看對於每一個w値的迭代次數icount並找出可以令迭代次數最小的w値作爲最佳w值。四、代碼:(-)求解聯立方程組:#include#includeintmain(){inticount=0;floatA⑶⑶二{4.63,・1.21,3.22,-3.07,5.48,2.11,1.26,3.11,4.57};floatb[3]={2.22,

8、-3.17,5.11};floatx[3]={0.0,0.0,0.0},xsave⑶;floatTOL=1.Oe-4,errmax;FILE*fPtr;tPtr=fopen("output.dat","w");fprintf(fPtr,”%5s%8s%8s%8s”,HIter.H,”xl”,”x2”,”x3”);fprintf(fPtr,"%4d%&4f%&4f%8.4f",icount,x[0],x[l],x[2]);while(1){icount++;xs

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。