2012-04-03 3 views
1

を作成戻り型(リストのグリッドまたはアレイグリッド)* Iは、各軸</p> <p>に間隔によって分離された3次元位置の3次元グリッドを返す関数を作成する3次元位置のグリッド

type t_grid = (float * float * float) list list list 

or 

type t_grid = (float * float * float) array array array 

*ここに署名:

create_grid width_x height_y depth_z inter_axis_x inter_axis_y inter_axis_z 

create_grid : int -> int -> int -> int -> int -> int -> t_grid 

私は本当に最適な方法でこれを処理する方法はわかりません。

答えて

1

これは数値計算に使用するようです。配列のサイズが固定の場合は、配列がサイズ変更できないため、「配列」を「リスト」よりも使用する方がよい。リストには、ネストされたリンク構造のオーバーヘッドがあります。配列は200万浮動小数点数を超えることはできないことに注意してください。大きなアレイの場合は、 "Bigarray"を使用してください。

実際、「Bigarray」モジュールのドキュメントを参照してください。多次元配列を直接サポートしています!これは配列のネストされた配列よりもはるかに効率的です。ここを見て:

http://caml.inria.fr/pub/docs/manual-ocaml/manual043.html http://caml.inria.fr/pub/docs/manual-ocaml/libref/Bigarray.html

関連する問題