病态线性方程组的求解.docx

上传人:lao****ou 文档编号:455028 上传时间:2023-11-24 格式:DOCX 页数:16 大小:38.18KB
下载 相关 举报
病态线性方程组的求解.docx_第1页
第1页 / 共16页
病态线性方程组的求解.docx_第2页
第2页 / 共16页
病态线性方程组的求解.docx_第3页
第3页 / 共16页
病态线性方程组的求解.docx_第4页
第4页 / 共16页
病态线性方程组的求解.docx_第5页
第5页 / 共16页
亲,该文档总共16页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《病态线性方程组的求解.docx》由会员分享,可在线阅读,更多相关《病态线性方程组的求解.docx(16页珍藏版)》请在第一文库网上搜索。

1、科学与工程计算实验报告学号:姓名:一、实验内容:考虑方程组Hx=b的求解,其中系数矩阵H为HiIbert矩阵,H=(%3n,hiJ=.1,i,j=12,r+-1这是一个著名的病态问题。通过首先给定解(例如取为各个分量均为D再计算出右端b的办法给出确定的问题。实验要求:(1)选择问题的维数为6,分别用JaCObi迭代法、GS迭代法和SOR迭代法求解方程组,其各自的结果如何?将计算结果与问题的解比较,结论如何?(2)逐步增大问题的维数,仍然用上述的方法来解它们,计算的结果如何?计算的结果说明了什么?(3)讨论病态问题求解的算法。二、程序设计的基本思想、原理和算法描述:1、算法Jacobi迭代法拓入

2、,tArb;ti1tX.WHiIe不泄足判伤准则doyzi上一毋后代X)Fori1.2.n九.auyaii;Enaea若A为稀疏矩阵,只需遍历非零元素GS迭代法:7xtA,biItitX.Whi1e不满足判停准则doFori=1,2,.,ni=(仇一a/j-=iijXfyaa;:EndEnd若A为稀疏矩阵,只需遍历非零元素每步迭代计算量相当于一次矩阵与向量的乘法:不需要保留上一步的迭代解,与JaCObi迭代法计算量一样。SOR迭代法(稠密矩阵)X:x,4rh,;:X.WhHe不满足判停准则d。Fori=1,2n邛=(I-)xi+(-俎Oi内-7-tf);iEndEnd2、函数组成doubIem

3、ax(doubIearray100)求数组中的最大值函数3、输入/输出设计对手方程组Hx=b的求解,系数矩阵H为Hi1bert矩阵,矩阵中的数由下列函数生成。,712/X*取一个特解1,1,1,1b数组由矩阵的每行元素相加得来。4、符号名说明doub1edoub1edoub1ec100x100x0100doub1edoub1esumintk用来存储第k1次和第k次迭代结果的差值的绝对值第k+1次迭代结果,储存解数组初始向量第k+1次和第k次迭代结果的差值的绝对值的最大值矩阵方程变换后右侧值的和迭代次数doub1ea100100存储Hi1bert矩阵doub1eb100存储b向量三、源程序及注释

4、:Jacobi迭代法#inc1udeinc11e#inc1ude/inc1udeusingnamespacestd;intn;doub1emax(doub1carrayIOO)/求最大值函数(doub1ea=arrayO;inti;fbr(i=1;in;i+)(iRaarrayi)a=arrayi;returna;)doub1ec100=0.0;doub1ex(100=0.0;/第k+1次迭代结果,储存解数组doub1eXOuOo=0Q;初始向量dob1eum=0;intmain()doub1es=0;inti,kJWk为迭代次数doub1ea11;doub1eb1IOOJ=0.0:CoUI请

5、输入维数:vn;COU1V输出a数组:endkdoub1emax(doub1earray!IOO);fbr(i=O;in;i+)fbrtj=OJn;j+)ai1(jJ=1O(i+j+1);PrimfC%1O.611,aiJUD力矩阵中的数精确到六位coutcndk)COU1V输出b数组:vend1;fbr(i=O;in;i+)(fbr(i=OJnJ+)(bi+=aijW/矩阵每行的和coutb(i,;)coutcnd1;COUIVV输入精度:s;fbr(k=1;k+)ibrti=0;in;i+)ibrtj=OJnJ+)(sum=a1ij)*xyj+sum;)Xm=XOi+(bi-sum)a刚i

6、J)H雅克比迭代方法计算方式ci=fabs(xi卜XOm)附求差值的绝对值xijxi;r=max(c);iRKs)输出迭代次数fbKi=O;in;i+)coutx,i=xisetprecision(10)cnd1;COUI迭代次数:vvkvcnd1;return0;return0;)GS迭代法#inc1udeinc11e科inc1ude#inc1udeusingnamespacestd;intn;doub1emax(doub1earrayIOOJ)/求最大值函数(doub1ea=array(OJ;inti;fbr(i=1;in;i+)(iRaarrayi)a=arrayi1;)returna;

7、)main()doub1es=0;doub1emax(doub1caay(IOO);doub1ec(I=0.0;doub1exIOO=0.0;悌k+1次迭代结果,储存解数组doub1eXOuOo=0.0H初始向量inti*J;doub1ertsum=0;doub1ea1IOO;doub1eb(100=0.0:COUIVV请输入维数:n;CoU1VV输出a数组:cnd1;fbr(i=0;in;i+)(fbrtj=O;jn;j+)IaijJ=1.W(i+j+1);Prin1fr%10.611,aiUDH矩阵中的数精确到六位)coutcnd1;)CoU1VV输出b数组:,,vcnd1;1br(i=O

8、;in;i+)ibrtj=OJnJ+)bi+=aiJ(j1H矩阵每行的和)coutbib;)Couivvend1;CoU1输入精度:cns;fbr(k=1;k+)(for(i=Ounu+)(for(j=0jn)(sum=a(iJ(j*xjJ+sum;)x(i=xij+(bi-sumyaii)gs迭代方法计算方式ci=fabs(xi卜xOiD,求差值的绝对值x(ij=xij;sum=0;)r=max(c);if(s)输出迭代次数(fbr(i=O;in;i+)COUtVxvvivv=wx(ise(precision(IO)cnd1;COUIVV迭代次数:kcnd1;)SOR迭代法#inc1ude#

9、inc1iK1e#inc1ude/inc1udeusingnamespacestd;intn;doub1emax(dub1eaay(IOO)(doub1ea=array(O;inti;fbr(i=1;in;i+)(iRaarrayi)a=arrayi;)returna;)intmain()doub1es=0.w=0;inti,kjyk为迭代次数doub1emax(dub1carrayIOOJ);doub1ec1=0.0;/dob1cxUOO=0.0;第k+1次迭代结果,储存解数组doub1exIOO=0.0;初始向量inti.kj;doub1ertsum=0;doub1ea11;doub1eb

10、(100J=0.0:CoUI请输入维数:n;COU1v输出a数组:endkfbr(i=O;in;i+)Ibrtj=O;jn;j+)(ai(j=1.0/(i+j+1);printR%10.61f,a1i1j);/coutaijj;coutcnd1;COUI输出b数组:vend1;fbr(i=O;in;i+)(fbr(i=O;jn;j+)(bi+=aij;)coutbi)coutcnd1;COUIVV输入精度:s;COUtVV输入松弛因子:w;for(k=1jc+)(for(i=O;in;i+)(fr(j=0jn)(sum=aijjj*xj+sum;)x(i=xij+(w*(bij-SUmya口同

11、)力$oT迭代方法的计算公式ci=fabs(xi-xOiD;求差值的绝对值XO1ij=Xi;sum=0;)r=max(c);i1(rs)输出迭代次数fbr(i=Oiinj+)coutxi=xisetprecision(IO)cnd1;CoUIVV迭代次数:kend1;return0;)四、运行输出结果:Jacobi*JnSOREAitXfwewr*出,且,1.HW5,HA.Sf1MNNIR.333333.2S0.2me8im?输出喊的且,K.45149286瀚入精度,.RAAR1B.SfNNNNIB.333333A.25AAAA.200A0166667.142878.333333f1.2SiNNMA.2ARAAA8.1666。e.142tS70.12Wf1.2S0R00H.2RfNWNI。1666678.142857.125e.IiiiiiB.20MN9B.16S6670.142857.12Se.1666670.142857A.i2smw0.111111.10.09(*7m1.21784.99S3O.84563SB.736S44-.W2S1-1.t1137W722-.9537i813-1.037427094-1.0295544395-f1.9662059119去代次故,ot五、结果比较分析:说明:Hx=b,H矩阵可以由函数hi,j=1(i+j-1)直接由程序生成,为了设定参考

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 应用文档 > 工作总结

copyright@ 2008-2022 001doc.com网站版权所有   

经营许可证编号:宁ICP备2022001085号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有,必要时第一文库网拥有上传用户文档的转载和下载权。第一文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第一文库网,我们立即给予删除!



客服