Gauss列主元消去法程序设计.docVIP

  1. 1、本文档共8页,可阅读全部内容。
  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文档。上传文档
查看更多
《Gauss列主元消去法》实验报告 实验名称:Gauss列主元消去法程序设计??? 成绩:___________ 专业班级:数学与应用数学1202班 ? 姓名:王晓阳???学号:2012254010228 实?验?日?期 :?2014?年11月10日 实验报告日期:?2014年?11月10日 一.实验目的 1.学习Gauss消去法的基本思路和迭代步骤. 2.学会运用matlab编写高斯消去法和列主元消去法程序,求解线性方程组. 3.当绝对值较小时,采用高斯列主元消去法. 4.培养编程与上机调试能力. 二、实验内容 用消去法解线性方程组的基本思想是用逐次消去未知数的方法把原线性方程组化为与其等价的三角形线性方程组,而求解三角形线性方程组可用回代的方法求解. 1.求解一般线性方程组的高斯消去法. (1)消元过程: 设,第i个方程减去第k个方程的倍,,得到. 经过n-1次消元,可把方程组化为上三角方程组. (2)回代过程: 以解如下线性方程组为例测试结果. 2.列主元消去法 由高斯消去法可知,在消元过程中可能出现的情况,这是消去法将无法进行,即使主元素但很小时,用其作除数,会导致其他元素数量级的严重增长和舍入误差的扩散,最后也使得计算解不可靠.这时就需要选取主元素,假定线性方程组的系数矩阵A是菲奇异的. (1)消元过程: 对于,进行如下步骤: 按列选主元,记 交换增广阵A的p,k两行的元素。 A(k,j)=A(p,j) (j=k,…,n+1) 3)交换常数项b的p,k两行的元素。 b(k)=b(p) 4)计算消元 (2)回代过程 (3)以解如下线性方程组为例测试结果. 三、实验环境 MATLAB R2014a 四、实验步骤 1.高斯列主元消去法流程图: 开始 开始 输入系数阵a和常数项b 按列选主元 交换元素 计算消元 回代 输出线性方程组的解 结束 2.程序设计: (一)高斯消去法: a=input(请输入系数阵:); b=input(请输入常数项:); n=length(b); A=[a,b]; x=zeros(n,1); %初始值 for k=1:n-1 for i=k+1:n %第k次消元 m(i,k)=A(i,k)/A(k,k); for j=k+1:n A(i,j)=A(i,j)-A(k,j)*m(i,k); end b(i)=b(i)-m(i,k)*b(k); end end x(n)=b(n)/A(n,n); %回代 for i=n-1:-1:1; s=0; for j=i+1:n; s=s+A(i,j)*x(j); end x(i)=(b(i)-s)/A(i,i) end (二)高斯列主元消去法: a=input(请输入系数阵:); b=input(请输入常数项:); n=length(b); A=[a,b]; x=zeros(n,1); %初始值 for k=1:n-1 if abs(A(k,k))10^(-4);%判断是否选主元 y=1 else y=0; end if y; %选主元 for i=k+1:n; if abs(A(i,k))abs(A(k,k)) p=i; else p=k; end end if p~=k; for j=k:n+1; s=A(k,j); A(k,j)=A(p,j);%交换系数 A(p,j)=s; end t=b(k); b(k)=b(p);%交换常数项 b(p)=t; end end for i=k+1:n m(i,k)=A(i,k)/A(k,k); %第k次消元 for j=k+1:n A(i,j)=A(i,j)-A(k,j)*m(i,k); end b(i)=b(i)-m(i,k)*b(k); end end x(n)=b(n)/A(n,n); %回代 for i=n-1:-1:1; s=0; for j=i+1:n; s=s+A(i,j)*x(j); end x(i)=(b(i)-s)/A(i

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档