Priemer v čase (GCL)
// Vypocet priemernej hodnoty (17.3.2016-TURSOFT), v.3.1
// princip prace - pouziva algoritmus linearneho exponencialu
// program bol prevereny niekolkonasobnou kontrolou
// AI.x1 - hodnota
// AV.x100 - odlozeny priemer (ak AV=99 >> RESET priemeru)
Variable CasAVG_min As Integer //...........doba priemerovania
Variable CycAVG_sec As Integer //...........interval priemerovania
CasAVG_min = 60
CycAVG_sec = 60
If AV.x100 >= 99 Then AV.x100 = AI.x1 End If
DoEvery CycAVG_sec:S
AV.x100 = AI.x1 + 2.718 ^ (- CycAVG_sec / 3600 / (CasAVG_min / 60)) * (AV.x100 - AI.x1)
End Do
=============================================================
Rozdiely priemerov, medzi ver. 3.1 a 2.1 nie sú prakticky žiadne, zhoda na 3 desatinné miesta.
=============================================================
// Vypocet priemernej hodnoty (17.3.2016-TURSOFT), v.2.1
// princip prace - hned zaplnenie hodnotami
// program bol prevereny niekolkonasobnou kontrolou
// AI.x1 - hodnota
// AV.x100 - odlozeny priemer (ak AV=99 >> RESET priemeru)
// AV.x102 - max. pocet priem.(cyklov) (uzivatel ma moznost menit dobu priemerovania)
//.........................................(je mozne zadat priamo v programe)
If AV.x100 >= 99 Then AV.x100 = AI.x1 End If
DoEvery 60S //..............................vypocet raz za minutu je dostacsujuci
AV.x100 = (AV.x100 * (AV.x102 - 1) + AI.x1) / (AV.x102)
End Do
=============================================================
Rozdiely priemerov, medzi ver. 2.1 a 1.2, sú až do okamžiku zaplnenia, pretože nepracujú s rovnakým počtom premenných. Akonáhle dôjde k zaplneniu hodnotami u verzie 1.2, nastáva úplná zhoda na 5 desatinných miest.
=============================================================
// Vypocet priemernej hodnoty (17.3.2016-TURSOFT), v.1.2
// princip prace - postupne zaplnanie hodnotami
// program bol prevereny niekolkonasobnou kontrolou
// AI.x1 -hodnota
// AV.x100 - odlozeny priemer
// AV.x101 - aktualny pocet priem.(cyklov) (ak AV=0 >> RESET priemeru)
// AV.x102 - max. pocet priem.(cyklov) (uzivatel ma moznost menit dobu priemerovania)
//.........................................(je mozne zadat priamo v programe)
DoEvery 60S //..............................vypocet raz za minutu je dostacsujuci
AV.x101 = Min (AV.x102 - 1, AV.x101) + 1
If AV.x101 = 1 Then AV.x100 = AI.x1 End If
AV.x100 = (AV.x100 * (AV.x101 - 1) + AI.x1) / (AV.x101)
End Do
=============================================================
// Vypocet priemernej hodnoty (12.3.2016-TURSOFT), v.1.1
// princip prace - postupne zaplnanie hodnotami
NEMÁ význam ho zverejňovať