现在时间是:
当前位置:首 页 >> 矩阵计算>> 教学区>> 文章列表

130213030严玉婷作业2

作者:严玉婷   发布时间:2015-06-23 16:35:22   浏览次数:285

程序:function  x=gauss1(A,b)
n=size(A,1);
tol=1e-14;
for k=1:n-1
   if abs(A(k,k)>tol)
        A(k+1:n,k)=A(k+1:n,k)/A(k,k);
        A(k+1:n,k+1:n)=A(k+1:n,k+1:n)-A(k+1:n,k)*A(k,k+1:n);
   else
       stop;
   end
end
L=eye(n)+tril(A,-1);
U=triu(A,0);
for j=1:n-1
   b(j)=b(j)/L(j,j);
   b(j+1:n)=b(j+1:n)-b(j)*L(j+1:n,j);
end
b(n)=b(n)/L(n,n);
x=b;
for j=n:-1:2
   x(j)=x(j)/U(j,j);
   x(1:j-1)=x(1:j-1)-x(j)*U(1:j-1,j);
end
x(1)=x(1)/U(1,1);

测试:A=diag(ones(1,83),1)+diag(6*ones(1,84),0)+diag(8*ones(1,83),-1);
b=[7;15*ones(82,1);14];
x=gauss1(A,b);
error=norm(A*x-b)

运行结果:error =

     1/14913081







上一篇:没有了    下一篇:没有了

Copyright ©2018    计算数学达人 All Right Reserved.

技术支持:自助建站 | 领地网站建设 |短信接口 版权所有 © 2005-2018 lingw.net.粤ICP备16125321号 -5