У меня есть одно значение, что, с течением времени, возрастает от 1 до 6, а затем возвращается к 1. Таким образом, в течение нескольких кадров последовательность видел бы:Быстрый легкий способ обнаружения пропускаются значения в циклической последовательности
1, 2, 3, 4, 5, 6, 1, 2, 3, 4...
Если аппаратное устройство неисправно один из этих чисел не может правильно читать и поэтому последовательность может выглядеть следующим образом:
1, 2, 6, 4, 5, 6, 1, 2, 6, 4...
Что такое быстрый, короткий метод обнаружения этого несоответствия?
Примечание:
- Это предназначено для жесткого реального времени среды
- Мой текущий метод, чтобы проверить, что каждое новое значение каждый кадр имеет значение не больше, чем 1 из последнего значение, то есть специальный случай для разницы между 1 и 6, который разрешен как 5
- Мне интересно, есть ли простой алгоритм или трюк для решения этой проблемы
- s equence также справедливо, если она находится в обратном направлении, например .:
6, 5, 4, 3, 2, 1, 6, 5, 4, 3....
Что случилось с вашим нынешним подходом? Разве это не достаточно быстро? Это ненадежно? Или вы просто хотите сделать вещи «красивее»? – amit
Кроме того, если обнаружен дефект - вы его исправите? Другими словами, при чтении n-го значения - можете ли вы предположить, что первые значения n-1 являются «правильными»? – amit
Более простой подход, возможно, состоял в том, чтобы посмотреть на первое значение, а затем мы знаем, каким будет цикл. Поэтому вам просто нужно проверить, соответствует ли число «прогнозируемому» числу. Если нет, у вас есть разрыв цикла. –