正确的方法来检测零交叉
248(30天)
显示旧的评论
答案(2)
吉姆·里格斯
2019年12月10日
编辑:吉姆·里格斯
2019年12月11日
以为你可能要考虑:
如果你把当前值,y (i)的前一个值y(张),这个产品只是消极当y(我)已经越过零。
如果y (i)和y(张)都是积极的,产品是正的,同样,如果他们都是负的,产品是正的。
zerocross = y(我)* y(张)< 0;
现在,如果你在乎无论是上升还是下降,您需要测试登录y(我)
如果zerocross
= y(我)> 0上升;
下降= y (i) < 0;% = ~上升(或下降)
结束
你可以让这个函数:
函数zerocross = detectzerocross (x)
持续的去年
如果isempty(去年)%初始化持久变量
去年= 0;
结束
最后zerocross = x * > 0;% = TRUE当x穿过零
= x;
结束
这个函数“记住”最后x的值每次调用它。