《矩阵与数值分析》上机大作业matlab.doc

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《矩阵与数值分析》上机大作业matlab

《矩阵与数值分析》上机大作业 1.给定n阶方程组,其中 , 则方程组有解。对和,分别用Gauss消去法和列主元消去法解方程组,并比较计算结果。 %产生三对角矩阵 n=84; %或n=10; A=zeros(n); b=zeros(1,n); for i=1:n-1 A(i,i)=6;A(i,i+1)=1;A(i+1,i)=8; end A(n,n)=6; for i=2:n-1 b(1)=6; b(i)=15; b(n)=14; end Ab=[A b]; %Gauss消元法 for j=1:n-1 %按列循环 for k=j+1:n %消元 Ab(k,:)=Ab(k,:)-Ab(j,:)*(Ab(k,j)/Ab(j,j)); end end x(n)=Ab(n,n+1)/Ab(n,n); for i=n-1:-1:1 %回代法求x for j=n:-1:i+1 Ab(i,n+1)=Ab(i,n+1)-Ab(i,j)*x(j); end x(i)=Ab(i,n+1)/Ab(i,i); endx=1.000000000000000 x=1.000000000000000 1.000000000000000 1.000000000000000 1.000000000000000 1.000000000000000 1.000000000000001 1.000000000000000 0.999999999999998 1.000000000000000 1.000000000000004 1.000000000000000 0.999999999999993 1.000000000000000 1.000000000000012 1.000000000000000 0.999999999999979 1.000000000000000 1.000000000000028 1.000000000000000 当n=84时,Gauss消去法的解是错解 Columns 34 through 39 2147483649.00000 -4294967295.00000 8589934592.99999 9999 34359738368.9998 Gauss列主元消去法x与x=(1,1…1)T偏差不大 Columns 34 through 39 1.000000172108412 0.999999661246936 1.000000655651093 0.999998776117961 1.000002098083496 综上,高斯列主元消去法可以避免小数作除数带来的误差,获得满意的数值解。 2. 设有方程组,其中, 选取不同的初始向量和不同的右端向量,给定迭代误差要求,用Jacobi和Gauss-Seidel迭代法计算,观测得出的迭代向量序列是否收敛。若收敛,记录迭代次数,分析计算结果并得出你的结论。 选取b={1}; x0={0};则Jacobi法 (1)Jacobi迭代法 n=20; A=zeros(n);b=1*ones(n,1); m=3; for i=1:n-2 A(i,i)=m;A(i,i+1)=-0.5;A(i,i+2)=-0.25;A(i+1,i)=-0.5;A(i+2,i)=-0.25; end A(19,19)=m; A(20,20)=m; A(19,20)=-0.5;A(20,19)=-0.5; %e=ones(n,1);b=A*e;%习题2的初始条件 K=1000; U=-triu(A,1); L=-tril(A,-1); D=diag(diag(A).^(-1)); f=D*b; B=D*(L+U); if max(abs(eig(B)))=1 disp(迭代不收敛) return end xp=zeros(n,1); for k=1:K x=B*xp+f; if max(abs(xp-x))0.000001 break; end xp=x; end x= 0.481636071409813, 0.573414961849327, 0.632801573980968, 0.652101940832594 0.660

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档