Help da dati orari a giornalieri

di il
2 risposte

Help da dati orari a giornalieri

Ciao forum
sono una nuova iscritta.
Devo trasformare dei dati orari in dati giornalieri, va bene anche selezionare solo uno ogni 24 (ad es la laettura di mezzanotte).
Chi mi aiuta? I dati vengono da un file excel, ho trasformato le date con datenume

D2= info2(2:(end), 1);
t2 = datenum(D2, 'dd/mm/yyyy');

i dati sono in un vettore:

Ren=data2(:,8);

Adesso vorrei selezionare solo una lettura ogni 24 (o mediare le 24 letture) per poter confrontare con un'altra serie di dati giornalieri.

Grazie.....

2 Risposte

  • Re: Help da dati orari a giornalieri

    Ehm, non credo sia una cosa difficile ma io non sono capace.... Qualcuno mi sa dare una risposta?
    Grazie.....
  • Re: Help da dati orari a giornalieri

    Per implementare la prima opzione (selezione di una lettura ogni 24), puoi sfruttare le funzionalità di "indexing" di MatLab:

    http://uk.mathworks.com/company/newsletters/articles/matrix-indexing-in-matlab.html
    http://uk.mathworks.com/help/matlab/math/matrix-indexing.html
    
    % Creazione di una matrice di esempio
    x=[(1:24*5)' randi(100,120,1)]
    % estrazione di un campione ogni 24 dalla seconda colonna
    sample_24=x(24:24:end,2)
    
    Per la seconda opzione, puoi utilizzare una combinazione delle funzioni "reshape" e "mean":



    
    sample_24_mean=mean(reshape(x(:,2),24,5))
    
    Con la funzione "reshape" "riorganizzi" i valori della (in questo esempio) seconda colonna (nel tuo caso dovrebbe essere la colonna 8, se ho compreso bene la tua domanda) in una matrice (24 x 5) (nell'esempio ho creato una matrice di input (120 x 2).

    Con la funzione "mean" calcoli i valore medio di ogni colonna, quindi di ogni gruppo di 24 dati della seconda colonna.
Devi accedere o registrarti per scrivere nel forum
2 risposte