求一个曲线的斜率突变点

[复制链接]
9621|15
 楼主| zjp8683463 发表于 2010-3-30 23:06 | 显示全部楼层 |阅读模式
一条曲线的前面都是一个小幅值类sin波(不能当sinx),在某个点突然迅速上升,达到一定值就停止.一个完整波形大概要5s左右.
现在要求这个突变点,应该怎么解?
 楼主| zjp8683463 发表于 2010-3-30 23:16 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
因特网用户 发表于 2010-3-31 00:54 | 显示全部楼层
相邻两点求导数不行吗
xwj 发表于 2010-3-31 01:02 | 显示全部楼层
相邻两点求差值即可,计算太简单了
 楼主| zjp8683463 发表于 2010-3-31 12:37 | 显示全部楼层
本帖最后由 zjp8683463 于 2010-3-31 13:10 编辑

我用Xn-Xn-1>A/一阶倒数/二阶导数来求过,不行。求出来一系列数,但都没有转折点。
忘记说了,X轴不是时间,是一个物理量。是单调但不一定等间隔,每个X点间距10~30
因特网用户 发表于 2010-3-31 18:36 | 显示全部楼层
你间距取得太小了吧  如果每个X点间距10~30  相邻点求导数 应该变化缓慢  间距搞大些看看了
另外 可以先找到最大点 再从最大点向前面搜索 根据导数信息来确定转折点了
GavinZ 发表于 2010-3-31 19:04 | 显示全部楼层
你应该贴个数据附件在这儿,那样大家想搞的就下载一份。
 楼主| zjp8683463 发表于 2010-3-31 21:43 | 显示全部楼层
本帖最后由 zjp8683463 于 2010-3-31 21:51 编辑
你间距取得太小了吧  如果每个X点间距10~30  相邻点求导数 应该变化缓慢  间距搞大些看看了
另外 可以先找到最大点 再从最大点向前面搜索 根据导数信息来确定转折点了 ...
因特网用户 发表于 2010-3-31 18:36


不能从后面往前面算,最后是要实时找突变点.不是拿记录曲线去找.附件如下

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
GavinZ 发表于 2010-3-31 23:03 | 显示全部楼层

我是这么想的,假设那是一条路,让蚂蚁走过去,一路上都不平坦(奇点很多),让大象走过去,前面很平坦,后面感觉上坡(奇点出现)。所以,为了降低感应度,防止误判,应加大步伐,设定门限。如果可以加入平均,以填平小坑,体现坡度变化的趋势性,就更可以提高信噪比。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
李冬发 发表于 2010-3-31 23:18 | 显示全部楼层
求导,不论x是啥量!
awey 发表于 2010-3-31 23:58 | 显示全部楼层
大象的步子太大了,要让许多大象从不同的起点走,然后取平均
lg-alfer 发表于 2010-4-1 08:56 | 显示全部楼层
先对数据进行差值计算,求出步进为1的曲线,然后在去量步子或求导会不会好一点。。。。
 楼主| zjp8683463 发表于 2010-4-1 19:51 | 显示全部楼层
本帖最后由 zjp8683463 于 2010-4-1 19:57 编辑

我现在解决方法是用一个新的步长,对每个X点去重采样Y在此步长内的max和min,用max和min求导,和awey方法类似.
效果还不错.
GavinZ 发表于 2010-4-1 20:15 | 显示全部楼层
我昨晚在MATLAB里这样做的:滑动平均,然后将数据对索引步长求差值,设定阈值,比较,将索引转换为横坐标值。
idllyidle1 发表于 2010-4-1 20:45 | 显示全部楼层
斜率突变点不一定是奇点,一元实函数分析斜率的变化规律 你要至少求出其二阶导数,让其等于0 再解出方程,你就能找到那些斜率极值点  要找最大值点 你还要比较边界 对于间断点 你要用左右极限  一般都是用泰勒级数来近似    MATLAB里面 的设计思想 就是用泰勒级数展开  按照精确度来取项数
 楼主| zjp8683463 发表于 2010-4-1 20:51 | 显示全部楼层
最后确实是2阶导数,但X步长不等而且小,所以要用新步长去重新处理曲线
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:解决问题是我们学习硬件和软件的目的. 硬件和软件是解决问题的手段,而非全部

397

主题

6128

帖子

9

粉丝
快速回复 在线客服 返回列表 返回顶部