RukeとLuNaYuの日記
I know the truth.
I know whole.
And I...know you.
平凡な大学生活の日記です。時折まじめな長文を書く病気になります。興味がなければ読み飛ばしてください。
201710 << 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 >> 201712
スポンサーサイト (--/--/--(--) --:--:--)
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
スクリプトゾクゾク (2005/12/17(土) 04:09:13)

自己相関関数を計算するところで、パワースペクトルS(w)を一度計算している関係上、それを逆フーリエ変換して計算していたのだが、これだと、周期畳み込みになって厳密にはよろしくない。というわけで、octaveのfftconvを使ってfftconv(data,flipud(data))./[-(N-1):1:(N-1)]のようにして計算する事にした。でもまあ、時定数の1万倍の時間に渡る時系列データなので時定数の数倍程度までの相関については、何も変わらなかった。

あと、このfftconvを使う時に気が付いたのだけど、今まで、自己相関関数=自分との畳み込み、と誤解していた。そうだよな。畳み込みの場合、一方の変数は逆方向に走るんだよな。始めfftconv(data,data)と書いたら摩訶不思議な結果が出力されて困惑してしまった。

あとは、ねじれ振動子の熱振動のデータか。冬休み突入前にレポートを書く計画は実現するだろうか。

ところでこういったデータ処理をしていると、50000個のデータのfftなど何の問題にもならない(一瞬で終わる。)ということが分かる。一方、例えば始めに自己相関関数を定義に従ってナイーブに計算するのを試したのだが、これはメモリの使い方によっては簡単に死ねるし、そうでなくても既に相当な時間がかかってしまう。ある程度の高級な数値計算環境では、fftはbuiltinの機能で簡単に使えるのが普通だから、結局、記述の簡潔性と抽象性がいっぺんに実現でき、その上高速になるというのだから、なるほど使わない理由など何もない。

#あ、地震だ。

自分の復習のために、以前に書いたfftの方法が端的に了解されるシンボリックなフーリエ変換の表記をもう一度。 本質的な違いは何もないけれど、樹形図を一生懸命書いて、ほーら計算が重複しているでしょう?って説明よりも、より明瞭なアルゴリズムの説明になっていると思う。

スポンサーサイト
コメント
この記事へのコメント
コメントを投稿する

管理者にだけ表示を許可する
トラックバック
この記事のトラックバックURL
この記事へのトラックバック
(C)Copyright 2003-2007 by Ruke All rights reserved. Powered By FC2. VALID HTML? VALID CSS?
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。