여기가 내 문제입니다. 나는 1의 단계에서 출력을 55에서 0으로 감소시키는 실시간 시스템의 출력을 수집하려고합니다.이 데이터를 기록하고 있습니다. 나는 55,54,53, ... 3,2,1, 반환하는 모든 데이터를 캡처했습니다. 시스템 지연에 일부 샘플 반복하세요 일부 샘플 예 를 놓친 기인하지만, I 얻을python에서 허용 오차가있는 패턴을 검색하는 방법
[55, 53, 52, 52, 51, 50, 49, 48, 47, 46, 45, 44 43, 42, 41, 39, 38, 38, 36, 36, 34, 33, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 20
그래서, 나는 패턴을 갖는다. (예를 들어, (18, 17, 15, 14, 13, 13, 12, 11, 10, 9, 8, 7, 55에서 0) 그러나 일부 샘플은 빠졌고 일부 샘플은 반복되었습니다. 스크립트를 작성하여 추출 할 수있는 방법이 있습니까?
내 목표는 여기 (하지만 그 샘플링에 의한 단일 미스과 반복을 차지한다) 55 0에 1 단계에서 무슨 일이 있었는지 확인하는 코드입니다 : 내가 잘 이해하면
for x in range(len(b)-1):
e += b[x] - b[x+1]
print x,b[x]-b[x+1], b[x], b[x+1]
print 'reached %d count in %d decrements' % (e, len(b)-1)
무엇을 추출 하시겠습니까? 놓친 샘플? 반복되는 샘플들? 얼마나 많은 것이 반복 되는가? 직접 코드를 작성하려고 했습니까? – rabs
나는 55에서 1까지의 데이터를 추출하고 싶다. (55,53,53 ...과 같은 반복과 실패) 반복없이 숫자의 순서와 비교한다. (55,54,53 .... 1) 단일 샘플을 놓친 경우 코드가 실제로 무시해야합니다. 이 경우 54를 놓치고 53을 두 번 반복하면 52를 찾아야한다는 것을 이해해야합니다. 허용 오차는 1이어야합니다. 예 : 55,53,52 ... 1은 괜찮지만 55,52, 50,49는 그렇지 않습니다. – user2927392
@rabs 충분히 견고하지 못한 코드를 작성했습니다. 그것이하는 일은 : 카운트가 55 일 때 파일에서 인덱스를 취하고 0까지 도달하는 데 걸린 단계 수를 계산합니다. 목표는 55에서 0까지 1의 단계로 발생했는지 확인하는 것입니다. 다음은 x의 코드입니다. b [x] -b [x + 1], b [x], b [x], b [x], b [x] +1] print '% d 개가 % d 개 감소했습니다'% (e, len (b) -1) – user2927392