• ベストアンサー

MATLABプログラミングについて

卒業研究のデータ解析をMATLABで行っているのですが, 途中で行き詰ったためお助けをお願いします. 質問内容は,実験により得られたデータがほぼsin波なのですが,その波の数をプログラムで読み取るためにはどうすればよろしいのでしょうか?実験データなので細かく見ると上下に振れています. データをプロットしたグラフだと間隔の狭いところは読みにくく困っています.また,始点と終点の読み取り方法もわかりません. どのようなプログラムを組めばいいか教えてください. 質問がわかりにくいと思いますがよろしくお願いします.

質問者が選んだベストアンサー

  • ベストアンサー
  • sgwjn
  • ベストアンサー率70% (47/67)
回答No.1

波のピークを全て回数としてカウントするのであれば、 (1) HPFをかける (2) Diffをとる (3) (2)の結果で、-から+に切り替わる位置(凸ピーク位置)と回数を取得する (4) (2)の結果で、+から-に切り替わる位置(凹ピーク位置)と回数を取得する (5) (3)と(4)の内、少ない方がsin波の波の数 で無理でしょうか。 始点と終点については、(3)の先頭<(4)の先頭であれば(3)-(4)間、(3)の先頭>(4)の先頭であれば(4)-(3)間の各ピーク位置間の(1)の波形に対して、3次関数のフィッティングをかけて、適切な根を選択すれば可能なような気がします。

gt1022
質問者

お礼

回答ありがとうございます. とても参考になりました. なんとかプログラムを作ることができました. どうもありがとうございました.

関連するQ&A