首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

求判断曲线趋势的算法解决办法

2012-02-08 
求判断曲线趋势的算法在程序中建有一个变量temp和一个数组float[]new myarray[10],在timer下,temp每秒更

求判断曲线趋势的算法
在程序中建有一个变量temp和一个数组float[]=new myarray[10],在timer下,temp每秒更新一次值,myarray[9]=temp,然后

for(int i=0;i<=8;i++)
{
 myarray[i]=myarray[i+1];
}

这样子数组myarray中就由temp最新的十个值所填充,
现在的问题就是如何才能判断出myarray中的10个值连成的曲线是一个逐渐上升然后下降的波峰,不知道有没有成熟的算法或者好的建议,希望大家帮助我!

例如数据为:2,2,2,3,5,8,9,7,8,6,4,2,1,1,则判断为产生了一个满足条件的曲线。


图示:
如何判断下面链接图中的波峰

http://images.google.com.hk/imglanding?q=C%23%20%E6%9B%B2%E7%BA%BF&imgurl=http://images.cnblogs.com/cnblogs_com/kenblove/Curve4.jpg&imgrefurl=http://www.cnblogs.com/lr21shiji/articles/590972.html&usg=__KPN11pLF38YlPWUfdce-jbofk4Y=&h=500&w=900&sz=35&hl=zh-CN&um=1&itbs=1&tbnid=T60oKSZalQTV2M:&tbnh=81&tbnw=146&prev=/images%3Fq%3DC%2523%2B%25E6%259B%25B2%25E7%25BA%25BF%26um%3D1%26hl%3Dzh-CN%26newwindow%3D1%26safe%3Dstrict%26client%3Daff-avalanche%26sa%3DN%26channel%3Dsearchbox%26tbs%3Disch:1&um=1&newwindow=1&safe=strict&client=aff-avalanche&sa=N&channel=searchbox&tbs=isch:1&start=9#tbnid=T60oKSZalQTV2M&start=13



[解决办法]
用这10个点去拟合一条抛物线方程:
y = a(x-b)^2 + c
如果拟合结果是a<0,而且b在[0,9]之间,那么可以认为有峰。而且你还可以用a来控制你的误差
[解决办法]

探讨

引用:
用这10个点去拟合一条抛物线方程:
y = a(x-b)^2 + c
如果拟合结果是a<0,而且b在[0,9]之间,那么可以认为有峰。而且你还可以用a来控制你的误差


这个看来不错,能给个具体的实现代码么?多谢!

热点排行