Che algoritmo di calcolo della media bizzarro è il mio computer da bicicletta utilizzando?
-
18-09-2019 - |
Domanda
Il mio computer moto mi può mostrare varie figure come la distanza percorsa, il tempo trascorso, velocità massima, velocità media, velocità corrente ecc Io di solito ho impostato per visualizzare la velocità attuale e media.
È possibile azzerare la distanza e il tempo (entrambi insieme) in qualsiasi punto; le velocità massime e medie sono calcolate dall'ultimo azzeramento. La distanza è preso dal sensore della ruota (è necessario calibrare inizialmente per dire che la circonferenza della ruota) e il tempo è dalla propria orologio in tempo reale.
Ora, molto spesso mentre sto in bicicletta lungo, mi recherò in ben al di sopra della velocità media visualizzata eppure la velocità media mostrato scenderò. Come esempio concreto, questa sera, andavo in bicicletta a casa e la mia velocità corrente teneva stabile a 19,5 mph; la mia media era mostrando 12,6 mph e come ho guardato, è scattato verso il basso per 12,5.
Quello che sto cercando di capire è che tipo di algoritmo di calcolo della media bizzarro sta usando che può dare questo effetto. Non posso credere che si sta facendo ogni tipo di cose fantasiose diversa distanza / tempo totale totale. Credo che debba essere una sorta di arrotondamenti / condizione al contorno, ma non riesco a capire cosa. Qualche suggerimento?
[ho chiesto questo in ufficio al lavoro, ma nessuno aveva tutte le idee diverse da quelle che dovrei smettere di preoccuparsi di questi tipi di dettagli! Ehi, io devo pensare a qualcosa quando sono in bicicletta, è 9 miglia ogni modo ...]
Soluzione
Non è una media in esecuzione, si suppone che sia la media per tutto il viaggio, giusto? Almeno questo è quello che ho sempre dato per scontato il mio stava facendo.
Ho notato che l'effetto troppo. La mia teoria è che sia l'orologio e il contatore di distanza che utilizza per la media hanno una risoluzione piuttosto bassa, in modo a volte il contatore orologio zecche mentre il contatore di distanza rimane costante, e si ottiene il tuffo. Ad esempio:
dist time spd
8.5 40.1 12.72
8.5 40.2 12.69
Se utilizzano un processore intero e punto fisso, troncamento potrebbe far apparire la caduta ancora maggiore
Altri suggerimenti
ho intenzione di indovinare che ha una storia di un certo numero di punti dati e visualizza la media su di loro. Col passare del tempo i punti più anziani sono spinti fuori.
Se si dovesse andare più veloce nel punto abbastanza indietro per essere la fine della storia spingendo un punto abbasserà il tuo media.
E 'davvero una tecnica motivazionale.
Probabilmente Esso utilizza qualcosa di simile al algoritmo di stima rimanente tempo.
di temporizzazione tra rotazioni della ruota ma può facilmente perdere un passaggio del magnete sul sensore a causa di un urto nella strada o rumore.
Così si misura la velocità della metà il valore corretto per quel un punto di dati, che poi fa una media in esecuzione in modo che punto negativo inquina la velocità per i prossimi giri.
Il sistema ha bisogno di assaggiare ad un certo tasso (probabilmente costante).
Al fine di calcolare una media mobile esso memorizza solo al massimo datapoints N.
Quindi, al fine di aggiornare la media deve cadere uno dei suoi punti memorizzati per ottenere un nuovo media, e se il punto di cadere era più veloce che la velocità corrente, il media mobile scenderebbe