質問: csvファイルから読み込んだ値に対してのゼロクロス検出。また、閾値変更方法について。 csvファイルから値を読み込み、ゼロクロスを検出し、その合計回数をはき出させるにはどのようにすればよいでしょうか?最終的にはゼロクロスの閾値を自由に指定して行いたいです。
回答: いろんな方法で実現できるとは思いますが、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 から引くなどの処理で大丈夫そうですがいかがでしょう?