cell配列でのデータ格納が複雑になってしまい,取り出しに難儀しています.複雑なデータを格納する方法を教えて下さい.
14 ビュー (過去 30 日間)
古いコメントを表示
セル配列(20×20cell)
→セル配列(2×10cell)
→セル配列(5×2cell)
→数値配列(n×1double)
のようにとても複雑なデータの保存の仕方をしています.
取り出しに難儀しています.データのサイズも3GB程と大きくなっています.
セル配列と構造体配列以外を組み合わせるべきでしょうか?参考となる配列のデザインを教えてください.
よろしくお願いします.
0 件のコメント
採用された回答
Kojiro Saito
2024 年 2 月 15 日
確かにセルと構造体はメモリーをより多く使用します。
cell 配列は、各要素に対する別々の mxArrays で構成されます。このため、多くの小さな要素をもつ cell 配列ではオーバーヘッドが大きくなります。
構造体では、フィールドごとにほぼ同量のオーバーヘッドが必要です。多くのフィールドと小さなコンテンツをもつ構造体は、オーバーヘッドが大きくなるので避けるようにします。数値スカラー フィールドをもつ構造体の大規模な配列では、大規模な数値配列を含むフィールドをもつ構造体よりも、多くのメモリが必要です。
ただ、n=100でダミーデータで検証しましたが、セル配列は元の行列*20*20*2*10*5*2の14%増ぐらいなので、セル配列や構造体を違うデータ型にすることでそれほどメモリー使用量には影響ないように思えます。
取り出しを楽にするには階層を少なくして新しい変数に割り当てて、元の変数をclearするなどの方法が考えられます。
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で ビッグ データの処理 についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!