波形のゼロ点を抽出する方法

조회 수: 15 (최근 30일)
健気 大川
健気 大川 2021년 7월 9일
댓글: 健気 大川 2021년 7월 12일
図のように波形があり、ピークの点から立ち下がる時の0点を取りたいです。条件として0点がない場合正と負で挟まれた点の負の点を取りたいです。どなたかお時間ある方助言をお願い致します。(今回の波形はあくまで例です)

채택된 답변

Atsushi Ueno
Atsushi Ueno 2021년 7월 9일
편집: Atsushi Ueno 2021년 7월 9일
csvファイルから読み込んだ値に対してのゼロクロス検出。また、閾値変更方法について。 - MATLAB Answers - MATLAB Central (mathworks.com) を参考にして「ピークの点から立ち下がる時の0点」のインデックスをindexに格納しました。
t = 0:0.001:0.1;
y = sin(t*pi*180/3.0); % 今回の波形はあくまで例です
plot(t,y,'o');
hold on;
line(t,zeros(size(t))); % y=0の線を引く
index = find(y(1:end-1) > 0 & y(2:end) <= 0) + 1 % 0点がない場合正と負で挟まれた点の負の点
index = 1×3
18 52 85
plot(t(index), y(index),'o','MarkerSize',10); % ピークの点から立ち下がる時の0点を大きなマーカでプロット
  댓글 수: 1
健気 大川
健気 大川 2021년 7월 12일
ありがとうございます。解決いたしました。

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Logical에 대해 자세히 알아보기

태그

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!