Salve a tutti scrivo il mio primo post sul forum perchè ho un problemae non essendo sperto di programmazione, non capisco se questo problema è dovuto alla scarsa qualità del mio codice, o a limiti hardware del mio telefono su cui sto testando l'applicazione; ma venendo al sodo vorrei che qualcuno molto gentilmente mi aiutasse a fare ciò:
Devo creare una funzione che prenda come input dei dati che mi fornisce un sensore e li memorizzi in un array, successivamente la funzione dovrebbe calcolare la media su un numero di elementi dell' array che io posso scegliere tramite un parametro, e memorizzarli su un altro array che poi mi deve essere ritornato. spero di essermi spiegato. Io ho provato a scrivere la mia funzione che però nella mia versione, anzichè ritornare un vettore con dentro i valori medi, ritorna solamente il valore medio istante per istante.
Ecco il mio codice:
codice:private double mediaMobile(double[] sensData, int win) { if(ok == false & cont<win) { window[cont]=sensData[cont]; cont++; } else if (cont == win) { double sommatoria = 0; for (int ix = 0; ix < win; ix++) { sommatoria += window[ix]; } med = sommatoria/win; for (int k=0; k<win; k++) { window[k] = sensData[cont-win+1+k]; } cont++; } else if (ok == true & cont > win) { double sommatoria = 0; for (int ix = 0; ix < win; ix++) { sommatoria += window[ix]; } med = sommatoria/win; for (int k=0; k<win; k++) { window[k] = sensData[cont-win+1+k]; } cont++; } else if(ok==false & cont >win) { ok = true; } return med; }![]()

e non essendo sperto di programmazione, non capisco se questo problema è dovuto alla scarsa qualità del mio codice, o a limiti hardware del mio telefono su cui sto testando l'applicazione; ma venendo al sodo vorrei che qualcuno molto gentilmente mi aiutasse a fare ciò:
Rispondi quotando
Grazie lo stesso!
