How to calculate a period of a wave when you don't have the equation of the wave
15 ビュー (過去 30 日間)
古いコメントを表示
Nicolas Nicolaides
2017 年 11 月 5 日
編集済み: Jeffrey Ostler
2019 年 4 月 8 日
Hi guys,
I have this wave plotted in MATLAB for 10 periods. I only have the time and height arrays. What I would like is to calculate its period but I don't know how. I was thinking of finding all the values of time (X axis) when the height of the wave (Y axis) goes to 0 and then work from there. But one problem is that X is never 0 but only very close to zero except for the initial point height(1). Any help would be welcome! Thank you.
0 件のコメント
採用された回答
Kaushik Lakshminarasimhan
2017 年 11 月 5 日
You can use findpeaks to detect the peaks in your wave and then use the spacing between peaks to determine periodicity.
[~,peaklocs] = findpeaks(wave);
period = mean(diff(peaklocs)); % peaks may not be exactly periodic, so take mean
This should work unless your wave is very noisy.
2 件のコメント
Jeffrey Ostler
2019 年 4 月 8 日
編集済み: Jeffrey Ostler
2019 年 4 月 8 日
This is exactly what I needed to find the period. I replaced 'wave' with (position,time) which were column vectors with data I'd imposted from my daq. Thanks so much.
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Signal Generation and Preprocessing についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!