回覆列表
  • 1 # 髒話比謊話乾淨558

    先寫m文件

    function

    [x,y]=line_solution(A,b)

    [m,n]=size(A);

    y=[];

    if

    norm(b)>0

    if

    rank(A)==rank([A,b])

    if

    rank(A)==n

    disp('方程有唯一解x');

    x=A\b;

    else

    disp('方程有無窮多解,特解為x,其齊次方程組的基礎解係為y');

    x=A\b;

    y=null(A,'r');%null是用來求齊次線性方程組的基礎解系的,加上'r'則求出的是一組最小正整數解,如果不加,則求出的是解空間的規範正交基。

    end

    else

    disp('方程無解');

    x=[];

    end

    else

    disp('原方程組有唯一零解x');

    x=zeros(n,1);

    if

    rank(A)<n

    disp('方程組有無窮個解,基礎解係為y');

    y=null(A,'r');

    end

    end

    ----------------------------------------------------------------------

    舉例調用:

    format

    rat

    %以有理數形式輸出

    A=[1,1,-3,-1;3,-1,-3,4;1,5,-9,-8];

    b=[1;4;0];

    [x,y]=line_solution(A,b);

    x,y

    format

    short

    %保留4位有效數字

  • 蘿蔔絲粉條餡餅的做法?