Я сейчас что-то кодирую, где со временем получаю кучу значений из аппаратного компаса.Этот компас очень точен и обновляется очень часто, в результате чего, если он немного покачивается, я получаю странное значение, которое крайне несовместимо с его соседями.Я хочу сгладить эти значения.
После некоторого прочтения может показаться, что мне нужен фильтр верхних частот, фильтр нижних частот или скользящее среднее.Скользящее среднее, с которым я могу отказаться, просто сохраняю историю последних 5 значений или чего-то еще, и использую среднее значение этих значений в моем коде, где я когда-то просто использовал самое последнее значение.
Это должно, я думаю, приятно сгладить эти колебания, но мне кажется, что это, вероятно, довольно неэффективно, и это, вероятно, одна из тех Известных проблем, для правильных программистов, для которых есть действительно аккуратное решение Clever Math.
Я, однако, один из тех ужасных программистов-самоучек, у которых нет ни малейшего формального образования в чем-либо, даже смутно связанном с CompSci или Math.Прочитав немного, можно предположить, что это может быть фильтр верхних или нижних частот, но я не могу найти ничего, что объясняет в терминах, понятных для такого хака, как я, какое влияние эти алгоритмы окажут на массив значений, не говоря уже о том, какматематика работает.Ответ, данный здесь , например, технически действительно отвечает на мой вопрос, но только в терминах, понятных тем, кто, вероятно, уже знает, как решить проблему.
Это было бы очень милои действительно умный человек, который мог бы объяснить, какая это проблема, и как работают решения, в терминах, понятных выпускнику гуманитарных наук.