Я использовал это раньше, но просто не могу его запомнить, и не могу найти его нигде.нужен код C, чтобы получить средневзвешенное значение, где последнее значение взвешивается дважды, как и все предыдущие?
Это среднее значение, когда самое новое значение имеет в два раза больше веса всех предыдущих значений (в сочетании), так что с течением времени самые старые значения имеют меньший эффект. И у меня недостаточно памяти для хранения старых значений.
ПОЛУЧИТЬ СРЕДНЯЯ:
int sum=0;
int n = 0;
float aver = 0;
for(;;){
float new_value = some_function();
sum += new_value;
++n;
aver = sum/n;
}
Но как я получаю в среднем где new_value взвешенной в два раза взвешивание предыдущего среднего?
float aver = 0;
for(;;){
float new_value = some_function();
aver = aver * ??? + new_value * ???;
}
'кляча = (кляча + 2 * new_value)/3;' –
К «в два раза вес всех предыдущих значений» вы имеете в виду в два раза больше, чем * комбинированные * веса всех остальных или два раза столько же, сколько значение * last *? –
Дважды больше, чем последнее значение. –