数值分析实验六.docVIP

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

数值分析实验六 MATLAB数值分析 实验目的 掌握应用MATLAB基本运算和函数进行数值分析的方法。 能通过编写MATLAB程序进行数值分析。 能调用自己编写的MATLAB函数进行数值分析。 能进行数值问题的可视化分析。 实验内容 (一)求解线性方程组 1、应用矩阵运算求方程组的根。 实验6.1.1:计算 解:要解上述线性方程组,可以使用矩阵的左除“\”,即X=A\B。 A=[2,1,-3;3,-2,2;5,-3,-1]; B=[5;5;16]; %列向量 X=A\B X = 1 -3 -2 指出: 线性方程组A*X=B有两种解法: X=A\B 或 X=inv(A)*B 但一般用第一种解法,在MATLAB中,第二种解法所用时间是第一种解法的50倍。 2、编写MATLAB程序求解线性方程组。 用MATLAB程序进行高斯消元法运算可以采取两种方式,一种是编写针对具体方程组的MATLAB脚本m文件或直接在命令窗口中输入命令进行运算,另一种是编写通用的MATLAB函数,通过调用求解具体的方程组。 利用MATLAB进行高斯消元法解方程计算的程序(函数)如下: function x=nagauss(a,b,flag) %用途:高斯消元法解方程ax=b %格式:x=nagauss(a,b,flag) a系数矩阵,b右端向量,flag若为0显示中间过程,否则不显示,默认为0,x解向量. if nargin3, flag=0; end n=length(b); a=[a,b];%将增广矩阵赋值给矩阵a. %消元 for k=1:(n-1) a((k+1):n,(k+1):(n+1))=a((k+1):n,(k+1):(n+1))-a((k+1):n,k)/a(k,k)*a(k,(k+1):(n+1)); a((k+1):n,k)=zeros(n-k,1); if flag==0, a, end end %回代 x=zeros(n,1); x(n)=a(n,n+1)/a(n,n); for k=n-1:-1:1 x(k,:)=(a(k,n+1)-a(k,(k+1):n)*x((k+1):n))/a(k,k); end 指出: 关于程序说明如下几点: 1、参数flag。 flag在函数中起开关作用,当flag=0时,显示消元的具体过程,否则仅显示方程组的解。 例如 a=[1,1,1;-1,3,1;2,-6,1]; b=[6;4;-5]; x=nagauss(a,b,0) a = 1 1 1 6 0 4 2 10 0 -8 -1 -17 a = 1 1 1 6 0 4 2 10 0 0 3 3 x = 3 2 1 上述调用过程中flag=0,显示了增广矩阵在消元过程中的变形。这种用法可以用于编制习题和习题答案。 又如 x=nagauss(a,b,1) x = 3 2 1 此时flag=0,仅显示方程组的解。 2、参数nargin nargin是一个MATLAB特殊变量名,在m函数内,用于表示该函数的输入变量的个数。相关地,nargout表示该函数输出变量的个数。 在本程序中规定,如果nargin3,即输入变量小于3个,则认定flag=0,显示完整的消元过程。 3、算法设计 程序设计的核心与基础是算法设计。 程序的消元过程中, ①a=[a,b] %将增广矩阵赋值给矩阵a,这样便于后面统一符号,对增广矩阵统一地进行消元变换。 ②消元的基本计算公式是: a((k+1):n,(k+1):(n+1))=a((k+1):n,(k+1):(n+1))-a((k+1):n,k)/a(k,k)*a(k,(k+1):(n+1)) 其中,a((k+1):n,(k+1):(n+1))表示系数矩阵中从第k+1行到第n行,第k+1列到第n+1列的元素。 a((k+1):n,k)表示系数矩阵中从第k+1行到第n行,第k列的元素。 a(k,k)表示系数矩阵的第k行到第k列的元素。 a(k,(k+1):(n+1)) 表示系数矩阵中从第k行到第k+1行第n+1列的元素。 例如,当k=1时, a(2:n,2:(n+1))=a(2:n,2:(n+1))-a(2:n,1)/a(1,1)*a(1,2:(n+1)) 具体计算一个值, a(2,2)=a(2,2)-a(2,1)/a(1,1)*a(1,2) 即a(2,2)的新值是a(2,2)的原值减去

文档评论(0)

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

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

1亿VIP精品文档

相关文档