admin管理员组文章数量:1794759
高斯
算法步骤
例题
程序代码
function x=GaussSeidel(A,b,x0,eps,N)
n=length(b);
if nargin<5N=500;
end
if nargin<4eps=1e-6;
end
if nargin<3x0=zeros(n,1);
end
k=0;
x=zeros(n,1);
while k<Nx(1)=(b(1)-A(1,2:n)*x0(2:n))/A(1,1);for i=2:n-1x(i)=(b(i)-A(i,1:i-1)*x(1:i-1)-A(i,i+1:n)*x0(i+1:n))/A(i,i);endx(n)=(b(n)-A(n,1:n-1)*x(1:n-1))/A(n,n);if norm(x-x0,inf)<epsbreak;endx0=x;k=k+1;
end
if k==Nwarning('已达到迭代次数上限');
end
fprintf('k= %d',k)
end
运行结果
>>A=[0.76,-0.01,-0.14,-0.16;-0.01,0.88,-0.03,0.05;-0.14,-0.03,1.01,-0.12;-0.16,0.05,-0.12,0.72];
>> b=[0.68,1.18,0.12,0.74]';
>> x=GaussSeidel(A,b)
k= 8
x =
1.2762
1.2981
0.4890
1.3027
本文标签: 高斯
版权声明:本文标题:高斯 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1692931126a223393.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论