ここから本文です

R言語による高速フーリエ変換(fft)に関する質問です.

kat********さん

2014/6/1119:27:45

R言語による高速フーリエ変換(fft)に関する質問です.

まず,以下のような二つのベクトルがあります.
x <- c(0,10,20,30,40,50,60,70,80,90,100,110,120,130,140,150,160,170,180,190,200,210,220,230,240,250)
y <- c(0.000e+00,1.198e-04,5.463e-04,1.233e-03,2.058e-03,2.852e-03,3.441e-03,3.695e-03,3.552e-03,3.030e-03,2.212e-03,1.223e-03,2.017e-04,-7.284e-04,-1.474e-03,-1.983e-03,-2.243e-03,-2.276e-03,-2.126e-03,-1.848e-03,-1.498e-03,-1.128e-03,-7.765e-04,-4.699e-04,-2.228e-04,-3.930e-05)

xは時間軸のようなもの(実際には位置座標),yはその時間における変位です.
これらを高速フーリエ変換(fft)により,卓越周期を得たいのですが,方法がわかりません.
ネットで検索を行い,ある程度挑戦してみましたが,どうもうまくいっている気がしませんでした.

どなたかこれらのプログラミングに精通している方,回答をよろしくお願いいたします.

追加事項なのですが,
高速フーリエ変換は,任意曲線を三角関数により近似したものと理解しております.
ですが,どのような三角関数で(正弦波なのか,余弦波なのか,はたまた二つの合成波なのか)が,イマイチ理解できていません.つまり,卓越周期がどの関数のどの部分なのかがわかっていないということです.

もしよろしければ,この部分の回答もお願いできたらと思っております.
どうかよろしくお願いいたします.

閲覧数:
728
回答数:
1
お礼:
250枚

違反報告

ベストアンサーに選ばれた回答

gho********さん

2014/6/1514:12:43

「うまくいっている気がしない」との事ですが、出力データを見られないので判断しようがありません。とりあえず、
{7.351E-03,3.275E-02,1.254E-02,2.197E-03,6.319E-04,2.941E-04,1.714E-04,1.090E-04,7.371E-05,5.130E-05,3.592E-05,2.241E-05,1.350E-05,9.500E-06,1.350E-05,2.241E-05,3.592E-05,5.130E-05,7.371E-05,1.090E-04,1.714E-04,2.941E-04,6.319E-04,2.197E-03,1.254E-02,3.275E-02}
みたいな出力になっているなら問題ないと思いますが。


>高速フーリエ変換は,任意曲線を三角関数により近似したものと理解しております.

なんだか微妙な理解ですね。。。
フーリエ変換については、ネット上でも良い解説が見つかりますのでそちらを参考になさるのがよろしいかと。

ちなみに、基底となる周期関数は
・離散フーリエ変換 ⇒ 複素指数関数(正弦・余弦の合成でも書ける)
・離散コサイン変換 ⇒ 余弦関数
くらいに押さえておけば充分でしょう。

この回答は投票によってベストアンサーに選ばれました!

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる