Matlab矩陣
矩陣是數字的二維數組。
在MATLAB中,可以通過在每行中輸入元素來創建一個矩形,以逗號或空格分隔數字,並使用分號標記每一行的結尾。
例如,創建一個4×5
矩陣a
-
a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8]
MATLAB將執行上述語句並返回以下結果 -
Trial>> a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8]
a =
1 2 3 4 5
2 3 4 5 6
3 4 5 6 7
4 5 6 7 8
引用矩陣中的元素
要引用矩陣mx
的第m
行和第n
列中的元素,可以這樣書寫 -
mx(m, n);
例如,要引用矩陣a
的第2
行和第5
列中的元素,如上一節所述,可以這樣書寫 -
a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8];
a(2,5)
MATLAB執行上述語句並返回以下結果 -
Trial>> a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8];
a(2,5)
ans =
6
要引用第m
列中的所有元素,可以使用A(:,m)
。
假設要從矩陣a
的第4
行元素來創建列向量v
:
a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8];
v = a(:,4)
MATLAB執行上述語句並返回以下結果 -
Trial>> a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8];
v = a(:,4)
v =
4
5
6
7
還可以選擇第m
至第n
列中的元素,代碼如下 -
a(:,m:n)
下面是創建一個更小的矩陣,從第二和第三列的元素 -
a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8];
a(:, 2:3)
MATLAB執行上述語句並返回以下結果 -
Trial>> a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8];
a(:, 2:3)
ans =
2 3
3 4
4 5
5 6
以同樣的方式,可以創建一個矩陣的子部分的子矩陣。
a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8];
a(:, 2:3)
MATLAB執行上述語句並返回以下結果 -
Trial>> a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8];
a(:, 2:3)
ans =
2 3
3 4
4 5
5 6
以同樣的方式,可以創建一個矩陣的子部分的子矩陣。
例如,要創建一個子矩陣sa
,其包含以下內容的內部子部分:
3 4 5
4 5 6
參考以下實例代碼 -
a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8];
sa = a(2:3,2:4)
MATLAB執行上述語句,返回以下結果 -
sa =
3 4 5
4 5 6
刪除矩陣中的一行或一列
通過向該行或列分配一組空的方括號[]
來刪除矩陣的整個行或列。[]
表示一個空數組。
例如,刪除第四行 -
a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8];
a( 4 , : ) = []
MATLAB執行上述語句,返回以下結果 -
a =
1 2 3 4 5
2 3 4 5 6
3 4 5 6 7
接下來,刪除第五列 -
a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8];
a(: , 5)=[]
MATLAB執行上述語句,返回以下結果 -
a =
1 2 3 4
2 3 4 5
3 4 5 6
4 5 6 7
例子
在這個例子中,首先創建一個3x3
的矩陣m
,然後複製該矩陣的第二行和第三行兩次來創建一個4x3
的矩陣。
使用以下代碼創建腳本文件 -
a = [ 1 2 3 ; 4 5 6; 7 8 9];
new_mat = a([2,3,2,3],:)
運行文件時,它產生以下結果 -
new_mat =
4 5 6
7 8 9
4 5 6
7 8 9
矩陣運算
在本節中,讓我們討論和學習下面一些常用的矩陣運算 -
- 矩陣的加法和減法
- 矩陣除法
- 矩陣的標量運算
- 矩陣的轉置
- 矩陣連接
- 矩陣乘法
- 矩陣的行列式
- 矩陣的逆轉