51代码网ORACLEMYSQLSQL SERVER其它数据库java/jspasp/asp.netC/C++/VC++APP应用其它语言服务器应用
您现在的位置: 51代码网 >> 其它 >> 文章正文

正弦曲线求取高峰的算法

更新时间:2012-3-4:  来源:51代码网

比如有5000个点,有4000个点是构成了正弦曲线,但不是非常标准的正弦曲线,正弦曲线的是横坐标为时间T,纵坐标为电压V,前面1000个点是的纵坐标为0V左右,所以理论上构成1条直线,比如后面4000点构成若干条正弦曲线,不知道他有多少个高峰,我想自己求取出来,想法是根据曲线是上升沿趋势还是下降沿趋势来取出,有哪位大哥能想个简单的算法,求出4000个点中,一共有几个高峰和低谷。

理论上如果曲线是在上升沿趋势,应该是后面的点的纵坐标是逐渐增大,也就是电压,但是因为我采集的是实际的数据,不能保证每个点的纵坐标都是逐渐增大的趋势,但是整体上是这种趋势的,从曲线的趋势来看
设定一个数组,在你的曲线中逐段截取,判断最高点
正弦曲线一个周期过一次最大值,用POS函数取出所有的最大值,可知几个高峰和低谷
利用高数知识,求出其一阶导数函数,当其值为0时,该点就是峰值
利用交流电的周期的,为50HZ,也就是20MS,也就是20MS为一个周期,然后取出波形的起始点,采用MAXVALUE函数,求助20MS数据的最大值,就可以了

  • 上一篇文章:
  • 下一篇文章: 没有了
  • 赞助商链接
    推荐文章
  • 此栏目下没有推荐文章
  • {
    设为首页 | 加入收藏 | 友情链接 | 网站地图 | 联系站长 |