gauss.m

来自「雅可比迭代法解方程 高斯法解方程 查值法曲线拟和 2-9次方曲线拟和」· M 代码 · 共 36 行

M
36
字号
a=[10 -1 -2;-1 10 -2;-1 -1 5];
b=[72 83 42];
%a=input('input array A:')
%b=input('input array b:')
n=length(b);
x=zeros(1,n);
N=10;   e=1e-5;    k=0;
while k<N
  y=x;
  s1=0;s2=0;s3=0;s4=0;
    for j=2:1:n                 % x1
        s1=s1+a(1,j)*x(j);      % |
    end                         % |
 x(1)=(b(1)-s1)/a(1,1);         % x1    
 for i=2:1:n-1                   % xi
        for j=1:1:i-1            % |
            s2=s2+a(i,j)*x(j);   % |
        end                      % |
        for j=i+1:1:n            % |
            s3=s3+a(i,j)*x(j);   % |
        end                      % |
 x(i)=(b(i)-s2-s3)/a(i,i);       % xi    
 end
    for j=1:1:n-1                % xn
        s4=s4+a(n,j)*x(j);       % |
    end                          % |
 x(n)=(b(n)-s4)/a(n,n);          % xn    
    if max(abs(x-y))<e 
        disp('done'),break      %达到精度 输出done并显示结果和计算次数
    else
        k=k+1;                  %否则k加一返回继续
    end
end
disp(k+1)
disp(x)
disp(y)

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?