Я не уверен, что понимаю, о чем вы спрашиваете, но это может быть ответом:
для отслеживания последних 5 необходимых раз вы можете использовать набор данных из палитры анализа, ограничивая количество выборок до 5 ...
вы обновите набор данных, используя dataset.add(yourTimeVariable);
, чтобы вы могли оставить значение вертикальной оси набора данных пустым.
Полагаю, вам потребуется 1 набор данных для каждой функции
Затем вы можете рассчитать скользящее среднее, выполнив:
dataset.getYMean();
Если вам нужно 81 набор данных, вы можете создать коллекцию в виде ArrayList с типом элемента DataSet.
А в Главных свойствах в При запуске вы можете добавить следующий код, и он будет иметь тот же эффект.
for(int i=0;i<81;i++){
collection.add(new DataSet( 5, new DataUpdater_xjal() {
double _lastUpdateX = Double.NaN;
@Override
public void update( DataSet _d ) {
if ( time() == _lastUpdateX ) { return; }
_d.add( time(), 0 );
_lastUpdateX = time();
}
@Override
public double getDataXValue() {
return time();
}
} )
);
}
вам нужно будет только запомнить, что соответствует какому сервисному блоку и функции, и тогда вы можете просто сделать
collection.get(4).getYMean();
и добавить новое значение в набор данных:
collection.get(2).add(yourTimeVariable);