矩陣是數位的二維陣列。
在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
在本節中,讓我們討論和學習下面一些常用的矩陣運算 -
假設要從矩陣a的第4行元素來建立列向量v: 應該是第四列 提交時間:2019-08-12