タグ

ブックマーク / adlib.rsch.tuis.ac.jp/~akira (1)

  • 行列演算のススメ

    [Octave] Octave と MATLAB に共通して言える高速化の手法は、for 文を書くな!! です。人生は for 文を書くには短すぎる...。 組み込み関数を使って for文をなくす n = 1; wns = randn(100000, 1); for k=1:length(wns) if wns(k) > a idx(n) = k; n = n+1; end end のコードを、 wns = randn(100000, 1); idx = find(wns > a); と書き直せば格段に速くなります。 配列を駆使してfor文をなくす例 for t=1:1000 sig(t) = sin(2*pi*100*t/sf); end を、 t = 1:1000; sig = sin(2*pi*100*t/sf); とします。もちっと高度な例は、 f = 100:10:2000; t

  • 1