変数でサイズを追跡します。
具体的な回答を得るには、使用状況について詳しく知る必要がありますが、次のようなことを検討してください。
Preallocate max space for mem
While looping over data sets
Set k = 1
While looping over data set elements
Add element to mem(k)
Set k = k + 1
End
Extract the data you want with mem(1:k-1)
Use the extracted data
End
通常、セットがどれだけ大きくなるかを知ることができるため、Matlab は事前に割り当てられたデータを好みます。
While looping over data sets
Determine size of data set, and preallocate mem here with that size
Set k = 1
While looping over data set elements
Add element to mem(k)
Set k = k + 1
End
mem already has exactly the data you need, so begin using it
End
そしてもちろん、ループとカウンタ変数を取り除くためにベクトル コマンドを使用することをお勧めします。
While looping over data sets
Use vector calculation with only the input you need to produce only the output you need
mem already has exactly the data you need, so begin using it
End