MATLAB: 配列appendの速度

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

実際やってみると上から

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

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

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

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

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

コメントを残す

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください