2012-04-03 37 views
1

我想創建其返回由間隔在每個軸上分離三維位置的三維網格的函數的網格創建三維位置

*返回類型(列表網格或陣列網格)

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