数值分析松弛法..docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数值分析松弛法.

《数值分析》实验报告 姓名 学号 日期 实验室 设备编号 实验题目 用松弛法解方程组 一 实验目的 1.熟悉松弛法及高斯-赛德尔方法求解非线性方程根的数值算法。 2.加深对松弛法以及高斯-赛德尔方法的理解。 二 实验内容 1.用松弛法求下方程组解,精确到10 。 (1) 跟G-S作比较 (2) 进一步考虑如何求最佳的W? (一)松弛法的基本思想: 设Ax=b,A=I-B,x=Bx+b,A+B=I,那么 简单迭代: x=Bx+b 剩余向量: r=b-Ax,b=Ax+r x=Bx+Ax+r=(A+B)x+r 得到x=x+r 。因此,作一次迭代相当于在第k次近似解的基础上,用剩余量进行修正。 或许在修正项前乘一个因子,会使迭代收敛的快一些。 x=x+w(b-Ax)=(I-wA)x+wb 其中迭代阵为I-wA。 (二)程序代码: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 松弛法 % % Sor.m % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% A=[4 -2 -1;-2 4 -2;-1 -2 3]; B=[0 -2 3]; f=1; %f=1.1,1.03,0.95 format long; if f=2 error (A SOR facter must be oppsitive and less than 2. ); end Er_user=5e-6; N=10; [m,n]=size(A); [mm,nn]=size(B); if m~=n error(A is not a square matrix.); end if m~=mm error(The row of B did not match the column of A); end X=zeros(n,1); k=1; while k=N Xk=X; for i=1:n for j=1:n AX(j)=A(i,j)*X(j); end Sum_AX=sum(AX); AX=0; X(i)=X(i)+f*(B(i)-Sum_AX)/A(i,i); end Er=max(abs(Xk-X)); if ErEr_user break; end k=k+1; end disp(X); disp(k); (三) 执行过程如下: %%f=1时:x、k的值 0.716190 0.674366 1.688307 11 %%f=1.03时:x、k的值 0.740677 0.703675 1.717588 11 %%f=1.1时:x、k的值 0.7959471 0.769365 1.782725 11 %%f=0.95时:x、k的值 0.674553 0.624283 1.638004 11 (三).结果分析 根据AX=B, A=[4 -2 -1;-2 4 -2;-1 -2 3]; B=[0 ;-2; 3];可求出精确解为 x*=[1;1;2]。 根据不同的松弛因子,得到了不同的结果。 高斯-赛德尔迭代方法: 在雅可比迭代中,求时是用的所有分量来参加计算的,而在计算的 第i个分量时,已经计算好前面i-1个分量 (j=1,2,……,i-1).设想方法收 敛,第(K+1)次的分量比第K次的分量更接近于真实解,为了加速收敛,在计算的 第i个分量时,所用的的前i-1个分量换成新算好的值,即用,,……….…,……,来计算,这就是赛德尔迭代的思想,而在雅可 比方法基础上用赛德尔迭代,称为高斯-赛德尔方法。 高斯-赛德尔算法: 1)input n,A,b,ε,N 2) x[i] - 0(i=1,2,…….,n) 3) k - 1 4) while(k=N)do(5 ~ 11) 5) err - 0 6) for i=1 to n,do(7 ~ 9) 7) XI - x[i] 8) x[i]-(b[i]-) 9) if(err|XI-x[i]|

文档评论(0)

stzs + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档