遍历列表以查找起点和终点

时间:2018-06-25 11:24:20

标签: python

z和x是两个列表,分别包含传感器读数和每个传感器读数的对应时间。从这两个列表中,我需要找到传感器读数的起点(传感器值开始连续变化)和终点(传感器值停止连续变化)。在这里,我遍历列表并减去连续的值,并尝试确定起点,并且还通过向后遍历列表来确定几乎相同的逻辑以找到终点。但是由于传感器读数中的噪音很小,每次输出都是错误的。我在此处附上了图表,从图表中可以看出,凝视位置和结束位置有偏差(+/- 30毫米),是否有比这更好的方法,例如使用微分或其他概念来获得imp ?任何链接或概念概述对我都会有所帮助。

Output graph

def min_distance(self, z, x):


    count = 0
    i =  0
    while count<2 and (i+1) !=len(z):
        if abs(z[i] - z[i+1]) >= 1:  
            count += 1
        i+=1

    min_value = z[i+2] 
    min_time = x[i+2]

    return min_value,min_time




 def max_distance(self,z,x):

    count = 0
    j =  5
    while count<2 and j!=len(z):
        if (abs(z[-j] - z[-j-5]) - abs(z[-j] - z[-j+2])) >=1.5 :
            count +=1
        j+=1

    max_value = z[-j+15]
    max_time = x[-j+15]

    return max_value,max_time

0 个答案:

没有答案