方案一:利用除法和 null 函式
1、在命令視窗輸入以下命令:
A=[1 1 -1 -1;2 -5 3 2;7 -7 3 1];
B=[5; -4; 7];
format rat x1=A\B %求得非齊次方程組Ax=B的一個特解x1
Y=null(A,"r") %求得齊次方程組Ax=0 的基礎解系Y
上面符號%後為解釋說明,實際中可不輸入
2、按回車,得通解。
x=x1+k1*Y(1)+k2*Y(2)
方案二:利用 rref 函式
format ratA=[1 1 -1 -1;2 -5 3 2;7 -7 3 1];
B=[5; -4; 7];%用初等行變換將增廣矩陣 [A B] 化成最簡行階梯形T
T=rref([A B])
舉例說明如何用Matlab求線性方程組的通解:
>> a=[1 -1 1 -1;-1 1 1 -1;2 -2 -1 1]; %線性方程組的係數矩陣
>> b=[1;1;-1]; % 常列向量
>> [rank(a) rank([a,b])]
ans =
2 2 %秩相等且小於4,說明有無窮多解
>> rref([a,b]) %簡化行階梯形矩陣
1 -1 0 0 0
0 0 1 -1 1
0 0 0 0 0
從而原方程組等價於x1=x2,x3=x4+1。
令x2=k1,x4=k2
於是,我們求得通解
方案一:利用除法和 null 函式
1、在命令視窗輸入以下命令:
A=[1 1 -1 -1;2 -5 3 2;7 -7 3 1];
B=[5; -4; 7];
format rat x1=A\B %求得非齊次方程組Ax=B的一個特解x1
Y=null(A,"r") %求得齊次方程組Ax=0 的基礎解系Y
上面符號%後為解釋說明,實際中可不輸入
2、按回車,得通解。
x=x1+k1*Y(1)+k2*Y(2)
方案二:利用 rref 函式
1、在命令視窗輸入以下命令:
format ratA=[1 1 -1 -1;2 -5 3 2;7 -7 3 1];
B=[5; -4; 7];%用初等行變換將增廣矩陣 [A B] 化成最簡行階梯形T
T=rref([A B])
2、按回車,得通解。
舉例說明如何用Matlab求線性方程組的通解:
>> a=[1 -1 1 -1;-1 1 1 -1;2 -2 -1 1]; %線性方程組的係數矩陣
>> b=[1;1;-1]; % 常列向量
>> [rank(a) rank([a,b])]
ans =
2 2 %秩相等且小於4,說明有無窮多解
>> rref([a,b]) %簡化行階梯形矩陣
ans =
1 -1 0 0 0
0 0 1 -1 1
0 0 0 0 0
從而原方程組等價於x1=x2,x3=x4+1。
令x2=k1,x4=k2
於是,我們求得通解