数值分析作业课题.doc

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数 值 分 析 作 业 姓名:王森 学号: 学院:化学工程学院 班级:化工8班 实验3.1 Gauss消去法的数值稳定性实验 实验目的: 理解高斯消元过程中出现小主元即很小时引起方程组解数值不稳定性 实验题: 求解线性方程组 实验要求 1 计算矩阵的条件数判断系数矩阵是良态的还是病态的 2 用高斯列主元消去法求得L和U及解向量 3 用不选主元的高斯消去法求得L和U及解向量 4 观察小主元并分析对计算结果的影响 解1 1.1判断矩阵A1 是否病态 程序如下: A1=[0.3*10^-15,59.14,3,1;5.291,-6.130,-1,2;11.2,9,5,2;1,2,1,1]; cond(A1 =,1) 结果如下: ans = 136.2945 A1=[0.3*10^-15,59.14,3,1;5.291,-6.130,-1,2;11.2,9,5,2;1,2,1,1]; cond(A1 ,inf) 结果如下 ans = 84.3115 A1=[0.3*10^-15,59.14,3,1;5.291,-6.130,-1,2;11.2,9,5,2;1,2,1,1]; cond(A 1,2) 结果如下 ans = 68.4296 因为cond(A1 ,1) =136.2945》1;cond(A1 ,2) = 68.4296》1;cond(A1 ,inf) =84.3115》1所以该矩阵A1 是病态矩阵。 1.2判断矩阵A2是否病态 程序如下: A2=[10,-7,0,1;-3,2.099999999999,6,2;5,-1,5,-1;0,1,0,2]; cond(A2,1) ans = 19.2832 A2 =[10,-7,0,1;-3,2.099999999999,6,2;5,-1,5,-1;0,1,0,2]; cond(A2,2) ans = 8.9939 A2=[10,-7,0,1;-3,2.099999999999,6,2;5,-1,5,-1;0,1,0,2]; cond(A2,inf) ans = 18.3564 因为cond(A2,1) =19.2832 》1;cond(A2,2) = 8.9939》1;cond(A2,inf) = 18.3564 》1所以该矩阵A2是病态矩阵。 2高斯列主元消去法程序如下: function x=gauss(A,b) %高斯求解方程组 %x=gauss(A,b) n=length(A); a=[A,b]; for k=1:n-1 maxa=max(abs(a(k:n,k))); if maxa==0 return; end for i=k:n if abs(a(i,k))==maxa y=a(i,k:n+1);a(i,k:n+1)=a(k,k:n+1);a(k,k:n+1)=y; break; end end for i=k+1:n l(i,k)=a(i,k)/a(k,k); a(i,k+1:n+1)=a(i,k+1:n+1)-l(i,k).*a(k,k+1:n+1); end end %回代 if a(n,n)==0 return end x(n)=a(n,n+1)/a(n,n); for i=n-1:-1:1 x(i)=(a(i,n+1)-sum(a(i,i+1:n).*x(i+1:n)))/a(i,i); end 执行下列程序: A=[0.3*10^(-15),59.14,3,1;5.291,-6.130,-1,2;11.2,9,5,2;1,2,1,1];b=[59.17;46.78;1;2];x=gauss(A,b) 得到结果如下: x = 3.8457 1.6095 -15.4761 10.4113 A=[10,-7,0,1;-3,2.099999999999,6,2;5,-1,5,-1;0,1,0,2];b=[8;5.900000000001;5;1];x=gauss(A,b) 得到结果如下: x = 0.0000 -1.0000 1.0000 1.0000 2.1 选列主元的分解如下: 2.1.1对A1进行列主元分解程序如下: A1=[0.3*10^-15,59.14,3,1;5.291,-6.130,-1,2;11.2,9,5,2;1,2,1,1]; [L,U,P]=lu(A1) 结果如下: L = 1.0000 0 0 0 0.0000 1.0000 0

文档评论(0)

妈妈王子 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档