cell配列でのデー​タ格納が複雑になって​しまい,取り出しに難​儀しています.複雑な​データを格納する方法​を教えて下さい.

2 次查看(过去 30 天)
Tadafumi Sugi
Tadafumi Sugi 2024-2-14
セル配列(20×20cell)
→セル配列(2×10cell)
→セル配列(5×2cell)
→数値配列(n×1double)
のようにとても複雑なデータの保存の仕方をしています.
取り出しに難儀しています.データのサイズも3GB程と大きくなっています.
セル配列と構造体配列以外を組み合わせるべきでしょうか?参考となる配列のデザインを教えてください.
よろしくお願いします.

采纳的回答

Kojiro Saito
Kojiro Saito 2024-2-15
確かにセルと構造体はメモリーをより多く使用します。
cell 配列は、各要素に対する別々の mxArrays で構成されます。このため、多くの小さな要素をもつ cell 配列ではオーバーヘッドが大きくなります。
構造体では、フィールドごとにほぼ同量のオーバーヘッドが必要です。多くのフィールドと小さなコンテンツをもつ構造体は、オーバーヘッドが大きくなるので避けるようにします。数値スカラー フィールドをもつ構造体の大規模な配列では、大規模な数値配列を含むフィールドをもつ構造体よりも、多くのメモリが必要です。
ただ、n=100でダミーデータで検証しましたが、セル配列は元の行列*20*20*2*10*5*2の14%増ぐらいなので、セル配列や構造体を違うデータ型にすることでそれほどメモリー使用量には影響ないように思えます。
取り出しを楽にするには階層を少なくして新しい変数に割り当てて、元の変数をclearするなどの方法が考えられます。
  1 个评论
Tadafumi Sugi
Tadafumi Sugi 2024-2-15
ありがとうございます.
大変,参考になりました.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Multidimensional Arrays 的更多信息

产品


版本

R2022a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!