привет народ посоветуйте фильтр данных нужна такая логика: постоянно получаем свежие значения в список сортируем его по возрастанию, отбрасываем самое большое и самое маленькое число а оставшиеся усредняем Как называется такой фильтр не могу нагуглить...

Комментарии: 34

  1. Anonim

    так усредняйте медианный

  2. Kostya

    а на чем ты пишешь?

    • Sergey

      на си от платформио аруиновский диалект

      • Anonim

        нет, это не "ардуиновмкий диалект Си". вы не признали обыкновенный C++

        • Sergey

          :) тапа того

  3. Kostya

    1. Создать массив нужной величины, заполняешь пока не останется пустых ячеек, дальше при каждом добавлении удаляешь 0 элемент, сдвигаешь значения в массиве, и добавляешь новый в конец. 2. https://function-x.ru/cpp_algoritmy_sortirovki.html вот варианты сортровок, пузырьком проще всего разобраться если не оч дружишь с кодом, вы ходе есть отсортированный массив значений 3. удаляешь из массива значения по индексу в массиве == 0 и равному крайнему заполненному значению 4. дальше фором итерируешь массив и += все значения в одну пепеременную 5. дальше делишь на кол-во не пустых ячеек в массиве 6. оптимизируешь все что нписал выше)

    • Sergey

      + но там же опять целочисленка внутри почему то

      • Kostya

        просто в пункте 4 надо переменную сразу обьявить как double

        • Sergey

          да собственно так и делать

        • Anonim

          нет. там надо хитро делать += новое значение к среднему, а не хранить ворох старых значений

          • Sergey

            вот я идумал может кто уже родил либу готовую :) чтобы склассами и т.п. с чего вдруг а если новое выброс и более того выбросы надо тоже хранить все

            • Kostya

              роди ты ))) у тебя специфический кейс , такое обычно не пишут просто так , а под конкретную задачу уже

              • Sergey

                так как возможно они не выбросы вовсе а изменившаяся величина да что может быть более тривиальным как фильтрация шумного ацп? нескольких шумных ацп :)

                • Anonim

                  я картинку с камеры обрабатываю. фи. ацп...

                  • Sergey

                    т.е. нужно два массива

            • Anonim

              сначала медиана потом в среднее ты хранишь медианное окно. что осреднил - уже не хранишь

              • Sergey

                каждый выброс должен оставатсья в массиве удалятся должно только самое старое до сортировки

                • Anonim

                  у вас много времени или памяти?

                  • Sergey

                    много и того и другого важны максимально красивые графики и точные одна точка раз в 2-3 минуты норма графики за года...

                    • Anonim

                      то есть это не реал-тайм расчеты?

                      • Sergey

                        нет вернее так измеряемая величина меняется часами ну может минутами но важно видеть момент ее резкой смены и он должен быть именно что резкий а не гора нарастающая или впадина которая рисуется часами

                        • Anonim

                          вы хотите странного у вас есть описание готового решения. но вы хотите еще более готовое решение

                          • Sergey

                            еще более готовое :) чтоб обявить фильтр и использовать его а не писать :)

                            • Andrey

                              нафига вообще тратить время на сдвиг массива, когда его можно переписывать по кругу от начала к концу?

                              • Dmitry

                                всем привет! подскажите кто перепрошивал паяльник Pinecil из под линуха?

                                • Anonim

                                  строить графики... за года... на ардуине.... я вас точно правильно понял?

                                  • Andrey

                                    и потом, если хватает прогмемы - есть фильтр Калмана, упрощенный

                                    • Sergey

                                      нет :) еспшка шлет на сервак в базу эт овообще тут не важно у него болячки с резкими коллизиями и долгим возвратом

                                      • Andrey

                                        это называется "фильтрация" :)

                                        • Sergey

                                          и он реагирует на выбросы а надо их убирать вообще как класс

                                          • Andrey

                                            можно подумать, скользящее окно будет резче и динамичнее

                                        • Sergey

                                          нет там есть аномалия при определенном стечении обстоятелств он сильно разгоняется

                                          • Andrey

                                            кхм... значит я в нее не попал еще

    • Anonim

      пункты 4-5 будут очень забавно работать при динамическом осреднении

Не нашли ответ?

Вам также может быть интересно