Moving Media Efficiente Algoritmo


Ho bisogno di tenere traccia degli ultimi 7 giorni ore di lavoro in un ciclo di lettura di file flat 's essere utilizzato per misurare fatigueability di lavoro rosters. Right ora ho qualcosa che funziona, ma sembra piuttosto prolisso e io non sono sicuro se ci sa modello che s più succinct. Currently, ho una classe Java con un array statico per contenere i dati ultimi x giorni, poi come ho letto attraverso il file, ho recidere il primo elemento e spostare gli altri 6 per un totale settimana rollback da uno L'elaborazione di questo array statico è fatto in un proprio metodo domanda ie. My questo è un approccio progettuale ragionevole, o c'è qualcosa di assolutamente ovvio e semplice per eseguire questa operazione Grazie guys. asked 30 agosto 11 alla 14 33.Thanks sacco ragazzi io ho ricevuto il messaggio utilizzare un oggetto di livello superiore e sfruttare i relativi metodi o un buffer circolare grandi risposte, tutti Quando si pensa a questo proposito, è sempre necessario l'accesso a tutta la gamma in modo da poter sbarazzarsi di quella prima voce - che non ero al 100 sicuri di conto mio mi sto sollevato dal fatto che non avessi perso un po 'di 1 liner e era fondamentalmente su un ragionevole, se non efficiente e la pista terso questo è quello che mi piace di questo sito di alta qualità, relative risposte da le persone che conoscono il loro sh t Pete855217 30 agosto 11 al 15 05.Why fanno si inizializza RunningTotal su null Qual è il suo tipo in cui è dichiarata sarebbe bene se si mette alcuni esempi di codice che assomigliano effettiva Java code. Moving su, la mia critica sarebbe il seguente vostra funzione non troppo una funzione o un metodo, dovrebbe essere coesa, più appropriatamente, dovrebbero fare una cosa e una cosa only. Worse ancora, ciò che accade nella vostra per ciclo quando x 5 Si copia RunningTotal 6 in RunningTotal 5 ma poi si hanno due copie dello stesso valore in posizione 5 e 6. in vostro disegno, i tuoi function. moves mescola elementi di cui alle vostre array. calculates la roba total. prints per error. returns standard, la total. It fa troppo. il mio primo suggerimento è di non muoversi roba in giro nella matrice, invece, implementare un buffer circolare e utilizzarlo al posto della matrice sarà semplificare la progettazione mio secondo suggerimento è quello di abbattere le cose in funzioni che sono cohesive. have una struttura di dati una circolare buffer che consente di aggiungere ad essa e che cade la voce più vecchia ogni volta che raggiunge il suo capacity. have la struttura di dati implementare una interator. have una funzione che calcola il totale sul iteratore don t importa se si sta calcolando il totale di un array, lista o bufer. don circolare t chiamano Chiamatela somma totale, che è quello che si è computing. That è quello che d grande informazioni do. That s Luis, tuttavia ricordate questa funzione è una piccola parte della funzionalità del di classe, e sarebbe eccessivo aggiungere troppo codice per renderlo perfetto sei tecnicamente corretta, e capisco il mio codice fa troppo, ma allo stesso tempo a volte s meglio sbagliare sul lato della più piccola, codice più chiaro che andare per la perfezione Dato le mie capacità Java, anche facendo il pseudocodice che si descrive compilare avrebbe mi soffio il budget su questo, ma grazie per la descrizione chiara Pete855217 31 agosto 11 alle 2 23.Hmmm, non in merito a perfezione, ma di pratiche industriali consolidate che noi conosciamo per gli ultimi 3 decenni, il codice pulito è sempre quella che è partizionato abbiamo decenni di prove che indicano questa è la strada da percorrere nel caso generale in termini di costo-efficienza, riduzione dei difetti, la comprensione, ecc meno che non sia - e-getta codice per una sorta di una volta di cosa non è mai costoso per fare questo quando si inizia qualsiasi analisi dei problemi in questo modo Coding 101, scomporre il problema e il codice segue, né eccessivo né difficile 31 11 agosto al 15 55.your compito è troppo semplice e la aproach che avete adottato è certamente un bene per il lavoro Tuttavia, se si desidera utilizzare un design migliore, è necessario sbarazzarsi di tutto quel movimento numero è meglio utilizzare una coda FIFO e fare buon uso di spinta e metodi pop in questo modo il codice riflettono solito qualsiasi spostamento dei dati, solo le due azioni logiche di nuovi dati e rimuovere i dati più vecchi di 7 days. answered 30 agosto 11 alla 14 49.Currently sto sviluppando un sistema di display grafico LCD per visualizzare le temperature, flussi , tensioni, potenza ed energia in un sistema a pompa di calore L'uso di un LCD grafico significa che metà del mio SRAM and.75 del mio flash sono stati utilizzati da un buffer di schermo e strings. I attualmente sto visualizzazione dati medi max min per l'energia a mezzanotte, quando il reset figura quotidiane, il sistema controlla se il consumo per il giorno è al di sopra o al di sotto del minimo precedente o al massimo, e memorizza il valore la media è calcolata dividendo il consumo energetico complessivo per il numero di days. I vorrebbe per visualizzare la media giornaliera nel corso dell'ultima settimana e il mese di 4 settimane per semplicità IEA media mobile Attualmente questo comporta il mantenimento di una matrice di valori per gli ultimi 28 giorni e calcolando una media su tutta la gamma per mensili e ultimi 7 giorni per weekly. Initially i stava facendo questo utilizzando una matrice di carri come l'energia è in forma 12 12kWh, ma questo è stato con 28 4 byte 112 byte 5 4 di SRAM I don t mente avendo un solo punto decimale di risoluzione, così ho cambiato ad usare uint16t e moltiplicando la cifra da 100 Questo significa che 12 12 è rappresentato come 1212, e io dividere per 100 per dimensione del display purposes. The della matrice è ora fino a 56 byte molto better. There c'è modo banale per ridurre la cifra verso il basso per un uint8t che posso vedere che potrei tollerare la perdita di una posizione decimale 12 1 kWh invece di 12 12kWh, ma il consumo è spesso superiore al 25 5 kWh 255 rappresenta il valore più alto rappresentato da un consumo intero senza segno a 8 bit non è mai stata sotto i 10 0kWh o superiore a 35 0kWh, quindi in teoria potrei sottrarre 10 dalle cifre memorizzate, ma so che un giorno saremo superare questi limits. I poi testato il codice per il confezionamento di valori 9 bit in un array Questo dà una gamma di 0-51 2KWH e utilizza 32 byte in totale Tuttavia, l'accesso a una serie come questo è piuttosto lento, soprattutto quando si ha a iterare su tutti i valori per calcolare un average. So la mia domanda è - c'è un modo più efficiente di calcolare una media mobile con tre finestre - vita, 28 giorni e 7 giorni efficienza significa più piccolo in termini di utilizzo SRAM, ma senza la penalità di codice enorme Posso evitare di memorizzare tutti values. asked 7 marzo 14 alle 8 32.I ve stato pensato e si è destra in modo che tecnicamente rende la mia risposta sbagliata I m investire un po 'di tempo e pazienza in esso Forse qualcosa fuori dalla scatola mi farò sapere se vengo con qualcosa che facciamo qualcosa di simile molto al mio posto di lavoro permettetemi di chiedere intorno Ci scusiamo per la confusione Aditya Somani 8 marzo 14 al 17 15.is c'è un modo più efficiente di calcolare una media mobile a 28 giorni e 7 giorni che hanno bisogno di ricordare 27 giorni di history. You potrebbe avvicinarsi abbastanza memorizzazione 11 valori anziché 28 valori, forse qualcosa di simile. in altre parole, invece di memorizzare ogni dettaglio di ogni giorno negli ultimi 27 giorni, un negozio di 7 o giù di lì valori di informazione quotidiana dettagliate per gli ultimi 7 o giù di lì giorni, e anche B Store 4 o giù di lì valori di riepilogo di informazioni totale o media per ciascuno degli ultimi 4 o giù di lì weeks. The FFT media mobile FFT-MA Generator Un efficiente metodo numerico per la generazione e condizionamento gaussiana Simulations. Cite questo articolo come Ravalec, ML Noetinger, B New York, Wiley Sons, 230 p. Journel, AG 1974 geostatistica per la simulazione condizionale di giacimenti Econ Geologia, v 69, pag 673 687 Google Scholar. Journel, AG e Huijbregts, CJ 1978 Mining geostatistica Accademico, San Diego, CA. Lantujoul, C del 1994, la simulazione non condizionale di fermo isotropo multiGaussian funzioni random, in M ​​Armstrong, M e Dowd, PA eds geostatistici simulazioni Kluwer Academic Publishers, Dordrecht, Paesi Bassi, p 147 177 Google Scholar. Le Ravalec, M Hu, LY e Noetinger, B 1999 stocastico serbatoio modellazione costretto a dinamica dei dati di calibrazione locale e l'inferenza dei parametri strutturali SPE conferenza annuale tecnico e mostra, Houston, TX, SPE 56556.Mantoglou, a 1987, la simulazione digitale di processi stocastici multivariati a due e tre dimensioni, con un metodo di banda spettrale svolta Math Geologia, v 19, No 2, p 129 149 Google Scholar. Mantoglou, a e Wilson, J 1982, il metodo di bande di svolta per la simulazione di campi aleatori che utilizzano generazione linea con un metodo spettrale risorse idriche Res v 18, p 1379 1394 Google Scholar. Matheron , G 1973 Le funzioni casuali intrinseche e le loro applicazioni Adv Appl Prob V 5, pag 439 468 Google Scholar. Oliver, DS 1995 medie mobili per la simulazione gaussiana in due e tre dimensioni per la matematica Geologia v 27, n ° 8, pag 939 960 Google Scholar. Oliver, DS Cunha, LB e Reynolds, AC 1997, una catena di Markov metodo Monte Carlo di simulazione matematica condizionale Geologia, v 29, n ° 1, p 61 91 Google Scholar. Ouenes, a 1992 Applicazione di ricottura simulata alla caratterizzazione serbatoio e il sistema inverso Petrofisica tesi di dottorato non, New Mexico tecnico, Socorro, Nuovo Messico, 205 p Google Scholar. Pardo-Igúzquiza, e e Chica-Olmo, M 1993, il metodo integrale di Fourier Un metodo spettrale efficiente per la simulazione di campi aleatori Math Geologia, v 25, No 2, p 177 217 Google Scholar. Prez, G stocastico di simulazione condizionale per la descrizione delle proprietà serbatoio tesi di dottorato non, University of Tulsa, Tulsa, OK, 245 p. Priestley, MB 1981 analisi spettrale e l'ora di serie Academic Press , Londra, GB Google Scholar. RamaRao, BS La sede, AM de Marsilly, G e Marietta, MG 1995 metodologia punto pilota per la calibrazione automatica di un insieme di campo trasmissività 1 Teoria condizionalmente simulato e gli esperimenti computazionali risorse idriche Res v 31, no 3, p 475 493 Google Scholar. Roggero, F e Hu, L del 1998, la deformazione graduale di modelli geostatistici continui per la storia corrispondenza SPE Annual Conference and Exhibition tecnico, New Orleans, LA, SPE 49004.Shinozuka, M e Jan, CM 1972 simulazione digitale dei processi casuali e le sue applicazioni Jour Suoni Vib 25, n ° 1, pag 111 128 Google Scholar. Yao, T del 1998, la simulazione spettrale condizionale con l'identificazione di fase Math Geologia, v 30, n ° 3, p 285 informazioni 308 Google Scholar. Copyright . Associazione Internazionale per la matematica Geologia 2000.Authors e Affiliations. Mickale Le Ravalec. Benot Noetinger.1 Institut du Franais Ptrole Pau Cedex 9 France.2 Institut du Franais Ptrole Pau Cedex 9 France. About questo articolo.

Comments