ssolve.m

来自「Matlab中虽然有很多解方程的函数」· M 代码 · 共 21 行

M
21
字号
%解一般线性方程组
function [X,phi]=ssolve(A,b)
[m,n]=size(A);
if nargin==1
    b=zeros(m,1);
end
AA=[A,b];
r=rank(AA);
if rank(A)~=r
    disp('无解!')
else
    [AA,o]=srref(AA);
    AA=AA(1:r,:);
    if r==n
        X=[];
        phi=permut(AA(:,n+1),o);
    else
        X=permut([-AA(:,r+1:n);eye(n-r)],o);
        phi=permut([AA(:,n+1);zeros(n-r,1)],o);
    end
end

⌨️ 快捷键说明

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