数值分析a实验报告.docxVIP

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

数 值 分 析实验报告工程物理系二〇一六年一月十日实验3.1(主元的选取与算法的稳定性)问题提出:Gauss消去法是我们在线性代数中已经熟悉的。但由于计算机的数值运算是在一个有限的浮点数集合上进行的,如何才能确保Gauss消去法作为数值算法的稳定性呢?Gauss消去法从理论算法到数值算法,其关键是主元的选择。主元的选择从数学理论上看起来平凡,它却是数值分析中十分典型的问题。实验内容:考虑线性方程组 编制一个能自动选取主元,又能手动选取主元的求解线性方程组的Gauss消去过程。实验要求:(1)取矩阵??,则方程有解取n=10计算矩阵的条件数。分别用顺序GAUSS消元法、列主元GAUSS消元法、完全主元GAUSS消元法,结果如何??(2)现选择程序中手动选取主元的功能。每步消去过程总选取按模最小或按模尽可能小的元素作为主元,观察并记录计算结果。若每步消去过程总选取按模最大的元素作为主元,结果又如何?分析实验的结果。(3)取矩阵阶数n=20或者更大,重复上述实验过程,观察记录并分析不同的问题及消去过程中选择不同的主元时计算结果的差异,说明主元素的选取在消去过程中的作用。(4)选取其他你感兴趣的问题或者随机生成矩阵,计算其条件数。重复上述实验,观察记录并分析实验结果。3.1.1程序清单format long;n=input(矩阵的阶数:n=);sp_M=input(矩阵的种类(1:Hilbert;2:随机矩阵;3:本题给出的矩阵;4:幻方矩阵):sp_M=);switch sp_M case(1); A=hilb(n); case(2); A=round(8*rand(n)); case(3); A=6*diag(ones(1,n),0)+8*diag(ones(1,n-1),-1)+diag(ones(1,n-1),1); case(4); A=magic(n);end;b=A*ones(n,1);p=input(计算条件数的p-范数,p=);cond_A=cond(A,p)Any1=zeros(1,n);Any20=zeros(n,1);Any21=zeros(n,1);Any12=eye(n);[m,n]=size(A);Ab=[A b];Pro=input(计算方法(1:顺序高斯消元法;2,:列主元高斯消元法;3:完全主元高斯消元法;4:手动选主元法,Pro=);Abfor i=1:n-1 switch Pro case(1); case(2); [aii,ip]=max(abs(Ab(i:n,i))); ip=ip+i-1; Any1=Ab(ip,:); Ab(ip,:)=Ab(i,:); Ab(i,:)=Any1; case(3); [Y,I]=max(max(abs(Ab(i:n,i:n)))); %显示最大值列号 I=I+i-1; [x1,r]=max(max(abs(Ab(i:n,i:n)))); %显示最大值行号 r=r+i-1; Any2=Ab(:,I); Ab(:,I)=Ab(:,i); Ab(:,i)=Any2; %Ab阵I列与i列互换 Any1=Ab(r,:); Ab(r,:)=Ab(i,:); Ab(i,:)=Any1; %Ab阵r行与i行互换 Any21=Any12(:,I); Any12(:,I)=Any12(:,i); Any12(:,i)=Any21; %列交换跟踪 case(4); ip=input([第,num2str(i),步消元,请输入第,num2str(i),列所选元素所处行数:]); Any1=Ab(ip,:); Ab(ip,:)=Ab(i,:); Ab(i,:)=Any1; end; aii=Ab(i,i); for k=i+1:n if(aii~=0) Ab(k,i:n+1)=Ab(k,i:n+1)-(Ab(k,i)/aii)*Ab(i,i:n+1); else break; end; end; Abend;x=zeros(n,1);x(n)=Ab(n,n+1)/Ab(n,n);for i=n-1:-1:1 if(Pro==3) x(i)=(Ab(i,n+1)-Ab(i,i+1:n)*x(i+1:n))/Ab(i,i); x=Any12^-1*x; else x(i)=(Ab(i,n+1)-Ab(i,i+1:n)*x(i+1:n))/Ab(i,i); end;endx3.1.2实验结果及分析(1)Cond(A,1)= 2.557500000000000×103 Cond(A,2)= 1.727556024913821×103 Cond(A,inf)= 2.55

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档