next up previous contents index
Next: 行列の配列(ピース行列の利用) Up: 行列成分の操作 Previous: 行列の大きさの変更

   
指数を用いた行列成分の操作

指数は,整数を1次元的に並べたものであり, クラス変換関数Index()を使って行列や配列から作ることができる。 指数は,ある行列から任意の成分を取り出して,任意の順に並べた部分行列を 作ったり,ある行列に任意の順で成分を代入する時に,使われる。 行列の成分の取り出しや代入のために使われるコロン:で区切った整数の 並びも指数と同様な働きをする。

例えば,Xn次元ベクトルでVn次元指数とすると, X(V)は,


[X(V(1)), X(V(2)), X(V(3)), ..., X(V(n))]


となる。また,代入式において両辺で指数を使うと,もっと複雑なことができる。 例えば,


A(:, Index([3 5 10])) = B(:, 1:3)


によって,行列Aの3列,5列,10列に行列Bの最初の3列が 代入される。もっと一般的に,もしvwが指数なら,


A(v, w)


は,vwの成分を行番号と列番号としてもつAの成分からなる 部分行列を意味する。したがって,


A(:, n:-1:1)


は,行列Aの列の順番を逆にした行列である。

指数とピース行列を同時に使えば,行列の配列から任意のブロック成分からなる 部分行列を参照することができる。

例えば,An x n行列で,AAn x n*n の行列の配列で,vn次元指数とすると, AA(v, A)は,


[AA(v(1), A), AA(v(2), A), AA(v(3), A), ..., AA(v(n), A)]


となる。また,代入式において両辺で指数を使うと,もっと複雑なことができる。 例えば,


AA(:, Index([3 5 10]), A) = BB(:, 1:3, A)


によって,行列の配列AAの4列,6列,11列に行列BBの2-4列が 代入される。もっと一般的に,もしvwが指数なら,


AA(v, w, A)


は,vwの成分を行と列としてもつAAのブロック成分からなる 部分行列を意味する。したがって,


AA(:, n:-1:1, A)


は,行列の配列AAの列の順番を逆にした行列である。
M1(IDX2) M1のIDX2成分からなる部分行列
M1(1,IDX2) M1の1行IDX2列からなる部分行列
M1(IDX1,IDX2) M1のIDX1行IDX2列からなる部分行列
M1(IDX1,1) M1のIDX1行1列からなる部分行列
M1(IDX1,1:2) M1のIDX1行1〜2列からなる部分行列
M1(1:2,IDX2) M1の1〜2行IDX2列からなる部分行列
MM(IDX1,IDX2,M) MMのピース行列Mによる(IDX1+1)行
  (IDX2+1)列からなる部分行列
MM(0,IDX2,M) MMのピース行列Mによる1行
  (IDX2+1)列からなる部分行列
MM(IDX1,0,M) MMのピース行列Mによる(IDX1+1)行
  1列からなる部分行列
M1(IDX2) = M2; M1のIDX2成分にM2を代入
M1(1,IDX2) = M2; M1の1行IDX2列にM2を代入
M1(IDX1,IDX2) = M2; M1のIDX1行IDX2列にM2を代入
M1(IDX1,1) = M2; M1のIDX1行1列にM2を代入
M1(IDX1,1:2) = M2; M1のIDX1行1〜2列にM2を代入
M1(1:2,IDX2) = M2; M1の1〜2行IDX2列にM2を代入
MM(IDX1,IDX2,M) = M2; MMの(IDX1+1)行(IDX2+1)列に
  ピース行列Mを使ってM2を代入
MM(0,IDX2,M) = M2; MMの1行(IDX2+1)列に
  ピース行列Mを使ってM2を代入
MM(IDX1,0,M) = M2; MMの(IDX1+1)行1列に
  ピース行列Mを使ってM2を代入

next up previous contents index
Next: 行列の配列(ピース行列の利用) Up: 行列成分の操作 Previous: 行列の大きさの変更
Masanobu KOGA 平成10年8月19日