求编程自动找出曲线上两个值并进行减法计算

2019-07-17 14:00发布

如图所示,在一段曲线中,有一个峰值和一个稳定值,我想编写程序找出这两个点,并进行减法运算。因为纵坐标峰值到稳定值的时间是一个定值T,所以我先通过索引找出最大值索引位置,然后找出对应的横坐标(时间)位置,并指向该位置所对应的时间值t,再把时间值t与定值T相加,即(t+T)S后的位置,并作为索引找出纵坐标所对应的值,也就是稳定值,但是时间坐标有时候会不准,所以这种方法存在风险,故想看哪位大神能不能用斜率找出拐点位置的方法,跪求,这个问题困扰我很久了!谢谢
索引方法(存在风险) 索引方法(存在风险)
数据波形 数据波形
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
19条回答
卡农5313
2019-07-18 15:58
xie330821 发表于 2018-1-24 23:54
不知道你电压值与电流值是不是一一对应的关系,如果是的话,我有写一个。如果不是不懂怎么做,曲线处理不怎么用。附我写的一个吧,你的数据不是一一对应,求Y1可能不准,Y2我觉得应该没问题,思路就是先找到数组的最大值,在从最大值处获取下降沿的数据,在两两相减,得出一个差异数组,其中最大值即为Y2的那个点。 ...

感谢前辈的指点和小例子,谢谢,也感谢其他前辈的妙招和真知灼见
今天自己也在思考到底该怎么做,冥思苦想和四处讨教,终于有一点眉目了,但还没验证,我把我的思路简单分享下:
(1)为了能找到Y1,首先确定电流那个为0的位置,我就用搜索一维数组的方式,找到电流第一个为0的点,但是问题又来了,电流初始刻也很多点为0,所以得把前面一段0给填充了,故我先删除前面为0的点,然后再填进去不为0的数。再通过搜索一维数组的方式确定电流为0,即Y1的位置,最后索引这个位置的元素。
(2)Y2的值,就像前辈那样,找差值最大的点。
删除和填充.jpg

一周热门 更多>