[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[dennou-ruby:000079] Re: gtrb & multi-D array



沼口です.

 > idx=p.where{|i| i>0}    ## 0より大きいところのインデックスを集めた配列
 > self[idx]=self[idx]*(P0/p[idx])**K

なるほど,中島さんの解説された方式t一緒ですね.
else がなければこちらのほうが効率的でしょうね
# ベクトルマシンじゃなければ :-p

 > elsewhere部分をどうすっきり書くかは問題ですが、各要素をオブジェクト化
 > する必要は無くなります (whereの実装を C のレベルでやれば。 ってどうす
 > るんだろう)。

配列の添字となるクラスをきちんと定義しておければ可能でしょうね.
始点,終点,間隔の指定だけでなく,添字のリストを配列の形で
とれるようにしておく.

 > # これを簡単にやるため IDL では多次元配列の一次元配列扱いが出来ます。
 >    (whereの出力はデータ先頭からの通し番号の配列でよい)

配列添字のクラスの構造によって,これを採用するもしないも自由でしょう.
そういうアクセス方法があってもいいけど,cyclic な添字指定との両立が
問題でしょうかね.

-- 
沼口  敦@北海道大学大学院地球環境科学研究科 大気海洋圏環境科学専攻
tel:011-706-2365 fax:011-706-4865 〒060-0810 札幌市北区北10条西5丁目  
numa@xxxxxx