MATLAB程序设计:高斯消去法并求解未知量的值

function gauss(a)
[r,c]=size(a);m=[];x=[];
%a为输入的增广矩阵,m为中间迭代算子,x为最后的输出的未知数结果
if r+1~=c
    disp("输入的矩阵不是增广矩阵,请重新输入!");
end
for j=1:c
    for i=j+1:r
        m(i,j)=a(i,j)/a(j,j);
        a(i,:)=-m(i,j)*a(j,:)+a(i,:);
    end
end
disp(a);
x(r)=a(r,c)/a(r,r);
for k=r-1:-1:1
    n=0;%n为中间迭代算子
    for l=k+1:r
        n=n+x(l)*a(k,l);
    end
    x(k)=(a(k,c)-n)/a(k,k);
end
disp(x);
end

你可能感兴趣的:(matlab,算法,人工智能)