+ -
当前位置:首页 → 问答吧 → 曲线取点求助

曲线取点求助

时间:2011-09-20

来源:互联网

各位大侠请帮个忙,通过传感器采 集了一组数据,然后显示成曲线,如图:

我想通过程序自动找到图中的这个点,不知道该怎么写,希望大侠帮助,图中每个格为50个点

作者: bjhaxd   发布时间: 2011-09-20

定义一个波动幅度值,取第一个点的Y值,然后历遍数组,凡是后面有大于波动值的点,则记录该点的值,再拿此点的Y值跟后面的比较,如此反复比较,历遍完时,记录的点就是你求的点了

作者: gzzai   发布时间: 2011-09-20

“...凡是后面有大于波动值的点,...”
应为:
...凡是后面的点比取的点大,且其差大于波动值的点,....

作者: gzzai   发布时间: 2011-09-20

波动幅度值,不是很清楚,我看了这个点之后的几个数据也比这个值大,数据如下:
2797.9、2787.9、2784.9、2781.9、2803.9、2803.9、2797.9、2794.9、2806.9、2813.9、2810.9、2806.9、2806.9.。。。。。。。。

作者: bjhaxd   发布时间: 2011-09-20

正因为那点后还有比它大的值,才需设置一个波动值,不然,直接比较好了

作者: gzzai   发布时间: 2011-09-20

波动值可以考虑取那点与其垂直对下最小的那点的y值之差

作者: gzzai   发布时间: 2011-09-20

引用 1 楼 gzzai 的回复:

定义一个波动幅度值,取第一个点的Y值,然后历遍数组,凡是后面有大于波动值的点,则记录该点的值,再拿此点的Y值跟后面的比较,如此反复比较,历遍完时,记录的点就是你求的点了

  对于这个得到的点,那么这条线只能是总是向上升的?

  那个,得到的数据不就是一堆值吧一?为什么还有波动值,把得到的数据从头到后一一显示连线不就行了

作者: moshao6   发布时间: 2011-09-20

你取的那点的特征是:上升沿的某处、接近最大值(该处的y值与最大值的差不大于“波动值”),而且处于比较平滑的顶部的最前端。

作者: gzzai   发布时间: 2011-09-20

6楼非但没理解清楼主的题意,连我的描述也误解了,我的方法得到的只是一个点,而不是一堆值!

作者: gzzai   发布时间: 2011-09-20

点的集合 有了
你规则定好就行了。。

作者: vividw   发布时间: 2011-09-20

又或者从最大的一点开始向左面的点比较,找到特然y值变化特别大的点,与之比较的点,就是所求的点。

作者: gzzai   发布时间: 2011-09-20

这个特别地大的变化量,就是波动值。

作者: gzzai   发布时间: 2011-09-20

gzzai
  (广州仔)
  波动幅度值:你说的这个值是不是采集得到的数据值中的一个最基本值(也就是说这个值+任意值可以得到采集到的数据值)?

作者: moshao6   发布时间: 2011-09-20