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

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

 채택된 답변

Kojiro Saito
Kojiro Saito 2024년 2월 15일

1 개 추천

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

댓글 수: 1

Tadafumi Sugi
Tadafumi Sugi 2024년 2월 15일
ありがとうございます.
大変,参考になりました.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 構造体에 대해 자세히 알아보기

제품

릴리스

R2022a

질문:

2024년 2월 14일

댓글:

2024년 2월 15일

Community Treasure Hunt

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

Start Hunting!