Programming and Data Types    

配列を前もって割り当てる

出力結果をストアする配列を前もって割り当てることによりコードの実行時間を改良することができます。前もって割り当てることは、結果が大きくなる度に、MATLABが配列をリサイズすることを必要としません。配列の種類に対して、つぎのような適切な配列割り当て関数を使います。

配列タイプ
関数
例題
数値配列
zeros
y = zeros(1,100);

セル配列
cell
B = cell(2,3);
B{1,3} = 1:3;
B{2,2} = 'string';
構造体配列
struct,repmat
data = repmat(struct('x',[1 3],...
'y',[5 6]), 1, 3);

前もって配列を割り当てることは、大きな行列を扱うとき、メモリの分割を少なくします。MATLABの実行中、メモリは、ダイナミックなメモリの割り当てと削除により小さく分割されます。このため、フリーメモリが十分必要になり、しかし、大きな変数を保存するために十分な連続したスペースを取ることは困難です。配列を前もって割り当てることは、計算の始めに大きなデータに対して十分なスペースを確保することにより、このことを防ぐことになります。


  MATLABコードの性能の最適化 メモリ使用に関する注意