當前位置:柔美女性網 >

綠色生活 >心理 >

matlab怎麼求解齊次方程

matlab怎麼求解齊次方程

matlab怎麼求解齊次方程

先寫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=Ab

else

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

x=Ab

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,-13,-1,-3,41,5,-9,-8]

b=[140]

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

x,y

format

short

%保留4位有效數字

  • 文章版權屬於文章作者所有,轉載請註明 https://rmnxw.com/zh-hant/lvse/xinli/0p4472.html