gaussliezhuyuan.m

来自「这是线性议程组的直接解法」· M 代码 · 共 25 行

M
25
字号
function [x,q]=Gaussliezhuyuan(A,b)
B=[A,b];
if det(A)==0
    disp('方程组不存在唯一解!');
    return;
end
n=length(A);
for k=2:n
        [m,d]=max(B(:,k-1));
    if d~=k-1 && d>k-1
        temp=B(k-1,:);
        B(k-1,:)=B(d,:);
        B(d,:)=temp;
    end
   for kk=k:n
    B(kk,:)=-B(kk,k-1)*B(k-1,:)/B(k-1,k-1)+B(kk,:)
   end
end
x(n,1)=B(n,n+1)/B(n,n);
for k=n-1:-1:1
    sx=B(k,k+1:n)*x(k+1:n,1);
    x(k,1)=(B(k,n+1)-sx)/B(k,k);
end
q=(n^3)/3+n^2-1/3*n;
end

⌨️ 快捷键说明

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