csvファイルから読​み込んだ値に対しての​ゼロクロス検出。また​、閾値変更方法につい​て。

8 Ansichten (letzte 30 Tage)
Fumiaki Esaki
Fumiaki Esaki am 20 Jul. 2018
Bearbeitet: michio am 21 Jul. 2018
csvファイルから値を読み込み、ゼロクロスを検出し、その合計回数をはき出させるにはどのようにすればよいでしょうか?最終的にはゼロクロスの閾値を自由に指定して行いたいです。

Antworten (1)

michio
michio am 21 Jul. 2018
Bearbeitet: michio am 21 Jul. 2018
いろんな方法で実現できるとは思いますが、1例として参考になりましたら。
以下のサイン波(変数 y)で考えます。
t = linspace(0, 8*pi, 1000);
y = sin(t);
plot(t,y)
y の前後の値を掛け合わせてマイナスの結果となる箇所は、値の符号が変わっている、すなわちゼロクロスが発生していると考え、
zeroCross = y(1:end-1).*y(2:end) < 0;
find 関数を使うと位置が分かります。
find(zeroCross)
ans =
125 250 375 500 625 750 875
任意の閾値というのは、その値を y から引くなどの処理で大丈夫そうですがいかがでしょう?

Kategorien

Mehr zu 言語の基礎 finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!