[MATLAB] 2.3 行列の要素を抽出する

2.3 行列の要素を抽出する

 5行×5列の行列を使い,行列の一部を抽出する例を示す。

(1) 1要素のみ

>> C=magic(5)
C =
    17    24     1     8    15
    23     5     7    14    16
     4     6    13    20    22
    10    12    19    21     3
    11    18    25     2     9

>> C(2,4)
ans =
    14

図 2.10 行列要素の抽出例(1)

 上の例で “C(2,4)” は,「Cの2行目4列目の要素」を意味する。このように,MATLABにおいて行列要素の表記は「行列名(行,列)」となっている。

(2) 行要素全て

>> C(1,:)
ans =
    17    24     1     8    15

図 2.11 行列要素の抽出例(2)

 “C(1,:)” は,「Cの1行目の要素全て」を意味する。括弧内の “1” が1行目,“:” は全ての列要素であることを示している。

(3) 列要素全て

>> C(:,1)
ans =
    17
    23
     4
    10
    11

図 2.12 行列要素の抽出例(3)

 こちらの例では先の例と括弧内の順序が異なっており,1列目のみが抽出される。

(4) 複数の行要素全て

 次の例では,2行目と4行目の要素を全て抽出している。行の指定において “[2,4]” とすることで,同時に2つの行を指定している。

>> C([2,4],:)
ans =
    23     5     7    14    16
    10    12    19    21     3

図 2.13 行列要素の抽出例(4)

 次の例では,行の指定を “2:5” としている。この場合,「2から5までの整数」という意味になる。つまり,2, 3, 4, 5行目を指定していることになる。

>> C(2:5,:)
ans =
    23     5     7    14    16
     4     6    13    20    22
    10    12    19    21     3
    11    18    25     2     9

図 2.14 行列要素の抽出例(5)

 最後の例では,行の指定が “2:2:5” となっている。これは「2から5まで,2こおきの整数」といういみで,2, 4のみが指定される。

>> C(2:2:5,:)
ans =
    23     5     7    14    16
    10    12    19    21     3

図 2.15 行列要素の抽出例(6)