赛德尔迭代(MatLab)

%计算方法书上p62 例3.5
%赛德尔迭代
%程序:张建波
%2005-11-18 PM23:00
a=[10 -2 -1;-2 10 -1;-1 -2 5;-1 -2 5];
b=[3 15 10];
x=[0;0;0];
N=3;%N 是解得个数,X1,X2,X3
es=0.0001; %精度控制
while(0<1)
    es0=0;
    %开始迭代
    for i=1:N
        s=x(i);
        x(i)=0;
        x(i)=(b(i)-a(i,:)*x)/a(i,i);
        es0=max(abs(s-x(i)),es0);
    end
    x
    if es0<es break;
    end
  end
posted @ 2006-02-09 16:10  陕北蜂农  阅读(176)  评论(0编辑  收藏  举报