网站大量收购闲置独家精品文档,联系QQ:2885784924

数值分析1-列主元全主元消去法.docxVIP

  1. 1、本文档共5页,可阅读全部内容。
  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文档。上传文档
查看更多
数值分析1-列主元

作业二:分别编写用列主元消去法和全主元消去法求解线性方程组的标准程序,求下列方程的解。 0.832 0.448 0.1930.784 0.421 0.2070.784 高斯全主元消去法: 流程图 开始 开始 判断有没有解,并输出 判断有没有解,并输出 寻找绝对值最大的项并记录位置 寻找绝对值最大的项并记录位置 换主行,换主列 换主行,换主列并记录 求解,并换回交换的列位子 求解,并换回交换的列位子 结束 结束 解题思路 首先寻找绝对值最大的项并记录位置,然后换主行,换主列并记录,最后再求解,并换回之前交换的矩阵的列位。 程序 function [x,qa]=gaussq(a,b) %输出想x为解,qa为全主元变换后的a矩阵 a=[0.832 0.448 0.193;0.784 0.421 0.207;0.784 -0.421 0.293]; b=[1,0,0]; d=[a b]; RA=rank(a);RD=rank(d);L=length(b);n=size(a);pos=1:n(1); if RA~=RD fprintf(无解) else if RA~=L fprintf(有无数多个解) else fprintf(有唯一解) for q=1:n big=max(max(abs(a(q:n,q:n)))); for r=q:n for t=q:n if big==abs(a(r,t)) zhuh=r; zhul=t; end end end p=a(q,:); %换主行 a(q,:)=a(zhuh,:); a(zhuh,:)=p; bb=b(q); b(q)=b(zhuh); b(zhuh)=bb; p=a(:,q); %换主列 a(:,q)=a(:,zhul); a(:,zhul)=p; p=pos(q); %记录由于换主列而造成的解的位置的变化 pos(q)=pos(zhul); pos(zhul)=p; end c=[a b]; for j=1:L-1 %化为上三角阵 for i=(j+1):L m=c(i,j)/c(j,j); c(i,:)=c(i,:)-c(j,:)*m; end end x(L,1)=c(L,L+1)/c(L,L); for k=L-1:-1:1 %求解x x(k,1)=(c(k,L+1)-c(k,k+1:L)*x(k+1:L))/c(k,k); end y=[1:n(1)]; %交换被列调换时打乱的解的位置 for w=1:n for v=1:n if (pos(v)==w) y(w)=x(v); end end end x=y; end end qa=a 程序结果 高斯列主元消去法: 流程图 开始 开始 判断有没有解,并输出 判断有没有解,并输出 寻找 寻找当前列中绝对值最大的项 换主行 换主行 求解 求解 结束 结束 程序 % function [x,qa]=gaussq(a,b) a=[0.832 0.448 0.193;0.784 0.421 0.207;0.784 -0.421 0.293]; b=[1,0,0]; d=[a b]; L=length(b);n=size(a); for q=1:n big=max(max(abs(a(q:n,q:n)))); for r=q:n if big==abs(a(r,q)) zhuh=r; end end p=a(q,:); %换主行 a(q,:)=a(zhuh,:); a(zhuh,:)=p; bb=b(q); b(q)=b(zhuh); b(zhuh)=bb; end c=[a b]; for j=1:L-1 %化为上三角矩阵 for i=(j+1):L

文档评论(0)

专注于电脑软件的下载与安装,各种疑难问题的解决,office办公软件的咨询,文档格式转换,音视频下载等等,欢迎各位咨询!

1亿VIP精品文档

相关文档