Getting Started | ![]() ![]() |
前もってスペースを確保する
コードの一部をベクトル化することができない場合、for
をスピードアップするためは、出力結果をストアするベクトルまたは配列を前もって設定してください。たとえば、つぎのコードは、for
ループで作成されるベクトルを前もって作成するために関数 zeros
を使うものです。これにより、for
ループの実行はかなり速くなります。
r = zeros(32,1); for n = 1:32 r(n) = rank(magic(n)); end
前の例題の中で前もってスペースを設定しないと、MATLABインタプリタは、ループに関する1回の実行で、1要素ずつ
r
ベクトルを拡大します。ベクトルの領域を前もって確保することは、このステップを省略させ、より高速の実行になります。
![]() |
ベクトル化 | 関数ハンドル | ![]() |