indで得られるようなインデックスの1次元配列を多次元の表現に変える関数 id_nd = 関数名(id_1d, dimsize) 〔入力変数〕
〔出力変数〕
a = (/ (/ (/1,2,3,4/), (/5,6,7,8/) /), (/ (/9,10,9,8/), (/7,6,5,4/) /) /) のうち,5よりも大きな要素に対応する場所が欲しいとする。このとき,5よりも大きな要素は,(0,1,1),(0,1,2),(0,1,3),(1,0,0),(1,0,1),(1,0,2),(1,0,3),(1,1,0),(1,1,1)にある9要素である。したがって, id_nd = ind_resolve( ind(ndtooned(a).gt.5), dimsizes(a)) とすると,id_ndは[9]x[3]の配列で,id_nd = (/ (/0,1,1/),(/0,1,2/),(/0,1,3/),(/1,0,0/),(/1,0,1/),(/1,0,2/),(/1,0,3/),(/1,1,0/),(/1,1,1/) /) である。 |