預備知識
如果一個向量線性獨立於另外一些向量組,那意味着這一向量不能寫成它們的線性組合,簡單例子如下:
>> u = [1;-1];
>> v = [3;-4];
>> w = [5,-6];
研究這些向量,我們可以看出:
2u + v = w
因此w線性相關於u
和v
,此時w
可以寫成u
和v
的線性組合。另一例子:
u = [2;0;0];
v = [;-1;0];
w = [0;0;7];
就構成線性獨立組,這是因爲這些向量中沒有一個可以寫成另外兩個的線性組合。
再看矩陣:
A =
0 1 0 2
0 2 0 4
很明顯,矩陣的第二行是第一行的兩倍。因此只有一行是獨立的,矩陣的秩爲1。
>> rank(A)
ans =
1
再看一個例子:
B =
1 2 3
3 0 9
-1 2 -3
第三列數第一列的三倍,因此,這兩列線性相關,另外兩列線性獨立,到此我們得知有兩個顯現獨立列
>> rank(B)
ans =
2
昇華
現在我們來看一下帶有n
個未知量的m
個線性方程組:
Ax = b
把b
連結在A
上構成增廣矩陣:
[A b]
解的情況:
- 無解:
rank(A)
不等於rank(A b)
時方程無解 - 有解:當且僅當
rank(A) = rank(A b)
時方程有解。
-
如果矩陣的秩r等於方程未知數的個數,那麼方程有唯一解。
-
如果秩
r
小於n
,那麼方程有無數解。
接下來一個例子我們來解方程組:
假設有一個方程組
矩陣的係數是:
我們還有:
因此增廣矩陣是:
第一步在MATLAB
輸入這些矩陣:
>> A = [1 -2 1;3 4 5; -2 1 7];
>> b = [12;20;11];
接着我們創建增廣矩陣:
>> C = [A b];
現在我們看一下A
的秩:
>> rank(A)
ans =
3
C
的秩:
>> rank(C)
ans =
3
由於秩相同,因此解存在,這裏有三個未知量,r = 3
,所以有唯一解,我們用左除求解:
>> x = A\b
x =
4.3958
-2.2292
3.1458