Сообщение от
Crusash
Попробовал для интересу этот блок Derivative, както странно он работает:
тенденцию изменений (нагрев\охлаждение\удержание) он отображает точно, а вот количественные показатели странные - чтобы привести к боле менее реальным показаниям, вызывая блок раз в секунду, параметр для TM получилось подобрать 20 (судя по документам миллисекунд).
Лучше как ТС предлагает, самому собирать массив и аппроксимируй как хочешь, на любой диапазон времени...
Попробуйте стандартную формулу дифференцирования:
Код:
OUT:=TD*(IN-OLD_IN)/CYCLE;
OLD_IN:=IN;
CYCLE - период вызова данной функции;
TD - время дифференцирования.
Размерности CYCLE и TD естественно должны совпадать.
То есть вы смотрите на сколько изменилась переменная за время CYCLE (например 100мс) и экстраполируя определяете на сколько она изменится за время TD (например 1 сек = 1000мс) при сохранении текущей скорости.