まくまくOctaveノート
行列/ベクトル内の要素を参照する
2017-03-24

行列内の特定の要素を参照する

下記のような 3x3 の行列の各要素を参照する方法です。

>> A = [1 2 3; 4 5 6; 7 8 9]
A =

   1   2   3
   4   5   6
   7   8   9

1行2列の要素を取得

>> A(1, 2)
ans =  2

行列内の要素を行単位、列単位で取得する

3行目の要素をすべて取得(行ベクトル)

>> A(3, :)
ans =

   7   8   9

2列目の要素をすべて取得(列ベクトル)

>> A(:, 2)
ans =

   2
   5
   8

1行目と3行目の要素をすべて取得

>> A([1 3], :)
ans =

   1   2   3
   7   8   9

指定した位置への代入にも使用することができます。 下記の例では、3行目の各要素を書き換えています。

>> A(3, :) = [10 20 30]
A =

    1    2    3
    4    5    6
   10   20   30

末尾のインデックスを表す特殊キーワード end

行列要素の参照時には、開始位置:終了位置 という範囲指定を行えますが、この 終了位置 には、末尾を表す end を指定することができます。 下記の例では、2行目から最後の行までの要素を抽出しています。

>> A = [1 2 3; 4 5 6; 7 8 9];
>> A(2:end, :)
ans =

   4   5   6
   7   8   9

ベクトル内の特定の要素を参照する

ベクトル内の特定の位置の要素は、下記のように簡単に参照することができます。

>> v = [10 20 30 40 50];
>> v(2)
ans =  20

上記は行ベクトルのケースですが、列ベクトルの場合も同じように位置指定することができます。

>> v = [10; 20; 30; 40; 50];
>> v(2)
ans =  20

範囲指定で部分ベクトルを抽出することもできます。 下記の例では、2番目から4番目までの要素を抽出しています。

>> v = [10 20 30 40 50];
>> v(2:4)
ans =

   20   30   40

末尾を示す end キーワードも使用できます。

>> v = [10 20 30 40 50];
>> v(2:end)
ans =

   20   30   40   50
2017-03-24