MATLAB: 配列appendの速度

クイズが出ていたのですが、確認してみました。

実際やってみると上から

経過時間は 1.251780 秒です。
経過時間は 0.008412 秒です。
経過時間は 0.001104 秒です。

安直に配列で連結すると、要素数を確保しておくより3桁(1000倍)遅くなりますね。

最後のインデックスを1ずつ増やす方法は、要素数を最初に確保する方法の10倍程度で済みます。

可能であれば、要素数を最初の定義しておくのが良いですね。安直にappendを乱発しないのが良いです。

要素数を確保出来ない場合は、一つずつインクリメントする方法が使えるなら使うし、使えない場合は配列の連結を使う、という感じでしょうかね。

Adsense広告