Home配列操作 › (31) 配列要素を3グループに分割する
Sponsored Link

(31) 配列要素を3グループに分割する

この記事は最終更新から 546日 が経過しています。

要素数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

Leave a Comment

NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>