Next: 成分の代入
Up: 行列成分の操作
Previous: 式行列の成分の取り出し
比較演算の結果生成される0-1配列を用いれば小行列を作成できる。
m x 1 の縦ベクトル(配列)Aから負の要素を取り去る例を次に示す。
A = Array([-1, 1, -2, 2]);
L = A > 0; // L = [0 1 0 1]
B = A(L); // B = [1 2]
ここで,Lは比較演算の結果作られる0と1からなる m x 1 の配列である。
次のように,Lを用いずに直接正の成分を取り出すこともできる。
A = Array([-1, 1, -2, 2]);
B = A(A > 0); // B = [1 2]
関数find()を使って指数を求めてから,正の成分を取り出してもよい。
A = Array([-1, 1, -2, 2]);
idx = find(A > 0); // idx = [2 4]
B = A(idx); // B = [1 2]
次に,Aの負のようその符合を反転する例を示す。
A = Array([-1, 1, -2, 2]);
L = A < 0; // L = [1 0 1 0]
B = -A(L); // B = [1 2]
A(L) = B; // A = [1 1 2 2]
次のように,Lを用いないで直接負の成分の符合を反転することのできる。
A = Array([-1, 1, -2, 2]);
A(A < 0) = -A(A < 0); // A = [1 1 2 2]
関数find()を使って指数を求めてから,負の成分の符合を反転しても良い。
A = Array([-1, 1, -2, 2]);
idx = find(A < 0); // idx = [1 3]
A(idx) = -A(idx); // A = [1 1 2 2]
Masanobu KOGA
平成10年8月19日