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

矩陣運算

在本節中,讓我們討論和學習下面一些常用的矩陣運算 -


以下是糾正/補充內容:

假設要從矩陣a的第4行元素來建立列向量v: 應該是第四列  提交時間:2019-08-12