数值分析实验报告5数值分析实验报告5.docVIP

数值分析实验报告5数值分析实验报告5.doc

  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文档。上传文档
查看更多
数值分析实验报告5数值分析实验报告5

实验名称 解线性方程组的直接方法 目的和意义 1、通过该课题的实验,体会模块化结构程序设计方法的优点; 2、运用所学的计算方法,解决各类线性方程组的直接算法; 3、提高分析和解决问题的能力,做到学以致用; 4、通过三对角形线性方程组的解法,体会稀疏线性方程组解法的特点。 计算公式 Gauss顺序消去法计算公式 结构程序设计 Gauss顺序消去法程序如下: %Gauss法求解线性方程组Ax=b %A为输入矩阵系数,b为方程组右端系数 %方程组的解保存在x变量中 %先输入方程系数 A=[4 2 -3 -1 2 1 0 0 0 0;8 6 -5 -3 6 5 0 1 0 0;4 2 -2 -1 3 2 -1 0 3 1;0 -2 1 5 -1 3 -1 1 9 4;-4 2 6 -1 6 7 -3 3 2 3;8 6 -8 5 7 17 2 6 -3 5;0 2 -1 3 -4 2 5 3 0 1;16 10 -11 -9 17 34 2 -1 2 2;4 6 2 -7 13 9 2 0 12 4;0 0 -1 8 -3 -24 -8 6 3 -1]; b=[5 12 3 2 3 46 13 38 19 -21]; [m,n]=size(A); %检查系数正确性 if m~=n error(矩阵A的行数和列数必须相同); return; end if m~=size(b) error(b的大小必须和A的行数或A的列数相同); return; end %再检查方程是否存在唯一解 if rank(A)~=rank([A,b]) error(A矩阵的秩和增广矩阵的秩不相同,方程不存在唯一解); return; end %这里采用增广矩阵行变换的方式求解 c=n+1; A(:,c)=b; %%消元过程 for k=1:n-1 A(k+1:n, k:c)=A(k+1:n, k:c)-(A(k+1:n,k)/ A(k,k))*A(k, k:c); end %%回代结果 x=zeros(length(b),1); x(n)=A(n,c)/A(n,n); for k=n-1:-1:1 x(k)=(A(k,c)-A(k,k+1:n)*x(k+1:n))/A(k,k); end %显示计算结果 disp(x=); disp(x); Gauss列主元消去法程序如下: %Gauss列主元消元法求解线性方程组Ax=b %A为输入矩阵系数,b为方程组右端系数 %方程组的解保存在x变量中 format long;%设置为长格式显示,显示15位小数 A=[4 2 -3 -1 2 1 0 0 0 0;8 6 -5 -3 6 5 0 1 0 0;4 2 -2 -1 3 2 -1 0 3 1;0 -2 1 5 -1 3 -1 1 9 4;-4 2 6 -1 6 7 -3 3 2 3;8 6 -8 5 7 17 2 6 -3 5;0 2 -1 3 -4 2 5 3 0 1;16 10 -11 -9 17 34 2 -1 2 2;4 6 2 -7 13 9 2 0 12 4;0 0 -1 8 -3 -24 -8 6 3 -1]; b=[5 12 3 2 3 46 13 38 19 -21]; [m,n]=size(A); %先检查系数正确性 if m~=n error(矩阵A的行数和列数必须相同); return; end if m~=size(b) error(b的大小必须和A的行数或A的列数相同); return; end %再检查方程是否存在唯一解 if rank(A)~=rank([A,b]) error(A矩阵的秩和增广矩阵的秩不相同,方程不存在唯一解); return; end c=n+1; A(:,c)=b;%(增广) for k=1:n-1 [r,m]=max(abs(A(k:n,k)));%选主元 m=m+k-1;%修正操作行的值 if(A(m,k)~=0) if(m~=k) A([k m],:)=A([m k],:);%换行 end A(k+1:n, k:c)=A(k+1:n, k:c)-(A(k+1:n,k)/ A(k,k))*A(k, k:c);%消去 end end x=zeros(length(b),1);%回代求解 x(n)=A(n,c)/A(n,n); for k=n-1:-1:1 x(k)=(A(k,c)-A(k,k+1:n)*x(k+1:n))/A(k,k); end disp(x=); disp(x); format sh

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档