Вот к каком решению пока пришел, если что раскритикуйте плз. :
1. находим самые близкие значения из накопленных массивов x(i) y(i)
2. представляем эти значения в виде отрезков и ищем пересечения этих отрезков , повторяем поиск для отрезков i-1 И i+1 (близлежащих)
3. Если пересечение одно и Х1(верхняя координата) больше Х2(нижняя) , а Y1
4. проверяем для каждого пересечения , если не одно
спасибо, выше дал больше объяснений. Нет , задача не про резонанс. Примерно , так как вы описываете , хотя может я не очень разбираюсь в параметрическом уравнении окружности...
СПасибо, посмотрю Pandas единственное что питон сюда не прикрутить... , если только алгоритмы вынуть..
Вот пример графика, что бы было более наглядно.
обе кривые лежат в едином поле по оси абсцисс (берутся в одно время) , данные накапливаются в массив по принципу сдвига - новые данные сдвигают старые , когда накапливается достаточное для анализа кол-во данных , алгоритм начинает работу. Как я уже сказал - определить восходящий или нисходящий тренд - уже решено написана функция , которая "бегает" по массивам и возвращает "угол наклона кривой". Главная сложность , что точки графика идут с маленькой частотой и могут находясь рядом не принадлежать одной кривой.
Для себя я представляю задачу , пока - как аппроксимация кривой к набору отрезков и поиск пересечения этих отрезков.
User700, Да спасибо! мысль понятна , попробую.
я то ошибся , представив функцию int CalculateTrend(uint16_t *myarray) , как указатель на массив типа уинт16.
и пытался к нему достучаться через его принадлежность к структуре.
я думаю это и С и ++. Ардуиновская платформа так пишет..
я пробовал передать указатель на uint16_t. то же компилятор ругается на has non-pointer type '
да, было бы здорово на примере !
Спасибо.
все хорошо в регрессионной модели , за исключением того, что я не могу построить массивы данных по всем возможным значениям ( или может не догоняю как..) т.е. замеренное Y может в разы выходить за замеренный диапазон. Допустим я получил , что при напряжении 4в , значение референсной емкости 230у.е , а при 2.4в это же значение 340у.е. , дальше я анализирую влажность вещества(это сенсор влагосодержания) и сенсор говорит мне что емкость 800у.е. а напряжение сейчас 3в. как мне вычислить минимальное расстояние до "референсной" кривой\прямой?
Да, так и есть. Я буду все время получать новые значения емкости Y , но поскольку напряжение может как уменьшаться так и увеличиваться , мне нужно делать поправку к текущему значению Y , относительно функции или коэффициента , (т.к. близко к линейному) вычисленного с помощью двух массивов.
я имел ввиду, что новое значение емкости у меня будет всегда - это функция датчика, но питание может проседать или наоборот увеличиваться (датчик батарейный плюс солнечная панель). Для возможных изменений емкости от питания я построил график (или два зависимых массива). Т.е. мне не нужно вычислять новое значение емкости в зависимости от графика, а только корректировать.
честно говоря я не очень понимаю как мне Лагранж подойдет , я было начал использовать кусочно-линейную аппроксимацию, но потом понял , что мне не нужно высчитывать относительное значение , а нужно сосчитать коэффициент поправки...
Да , спасибо, наверное стоит перефразировать вопрос. Да конечно id ы есть , имя сенсора = его ид.
могу я парсеру сразу дать на вход данные в формате http://192.168.1.100:80/status.xml?![sensor1]
или как то в подобном виде (все что написал выше это просто фантазии) что бы прочесть значение? Или же мне нужно добавлять программный код ?
на практике есть Андроидная система управления разными девайсами (умным домом) , она парсить не умеет, но умеет делать запросы типа GET и разбирать входные значения. Есть устройство , которое читает электрические показатели и представляет их в вышеописанную структуру, нужно переправить значение Ра в андроидную систему.
в принципе отрезками и планировал...