3,997 views
この記事は最終更新から 1873日 が経過しています。
要素数10個の配列を作る。この配列 aを先頭から順に3グループに分割したい。
octave:1> a = rand(1,10) a = 0.772741 0.626770 0.137352 0.084265 0.202622 0.936371 0.214594 0.947130 0.592333 0.579594
3グループそれぞれの要素を抽出するためのインデックス用配列を作成する。
・グループ1: 3n+1
・グループ2: 3n+2
・グループ3: 3n
配列からの特定条件を満たす要素の抽出には find を使用する。
octave:2> idx = [1:10] idx = 1 2 3 4 5 6 7 8 9 10 octave:3> idx_1 = find(mod(idx,3)==1) idx_1 = 1 4 7 10 octave:4> idx_2 = find(mod(idx,3)==2) idx_2 = 2 5 8 octave:5> idx_3 = find(mod(idx,3)==0) idx_3 = 3 6 9
先に作成した配列 aを、グループ分割用インデックス配列 idx_nを使用して分割する。
octave:6> g1 = a(idx_1) g1 = 0.772741 0.084265 0.214594 0.579594 octave:7> g2 = a(idx_2) g2 = 0.62677 0.20262 0.94713 octave:8> g3 = a(idx_3) g3 = 0.13735 0.93637 0.59233