% Questa routine calcola le medie (giornaliere o per intervalli definiti) % necessarie per le elaborazioni successive per i Tunnel Link % ACCdef contiene le medie per l'intervallo definito delle accelerazioni % ARRAYdate contiene le date e il tempo per ogni dato (per media % giornaliera, la data di quel giorno) function [ARRAYdate_TuL,accTuL,ACCdefRis_TuL,TempDef_TuL,ay_TuL,ay_TuL_AC] = ... MediaDati_TuL(accTuL,TimeTuL,ris_acc_TuL,ay_TuL,ay_TuL_AC,NdatiMedia,... T_TuL,NuovoZeroTuL,FileName) fileID = fopen(FileName,'a'); fmt = '%s \r'; text = 'MediaDati_TuL function started'; fprintf(fileID,fmt,text); %% Accelerazione [r,~]=size(accTuL); if NdatiMedia > r NdatiMedia = r; end accTuL = smoothdata(accTuL,'gaussian',NdatiMedia); %% Matrice date ARRAYdate_TuL = TimeTuL; %% Risultante acc ACCdefRis_TuL = ris_acc_TuL; % Non faccio la media, mi serve il dato come è per applicare i filtri %% Temperatura TempDef_TuL = T_TuL; % Non faccio la media, mi serve il dato come è per applicare i filtri %% Dati di riferimento ay if NuovoZeroTuL == 1 [r,~] = size(ay_TuL); if r > NdatiMedia ay_TuL = smoothdata(ay_TuL,'gaussian',NdatiMedia); else ay_TuL = smoothdata(ay_TuL,'gaussian',r); end %% Dati di riferimento ay Arco rovescio [r,~] = size(ay_TuL_AC); if r > NdatiMedia ay_TuL_AC = smoothdata(ay_TuL_AC,'gaussian',NdatiMedia); else ay_TuL_AC = smoothdata(ay_TuL_AC,'gaussian',r); end end text = 'Average values for Tunnel Link have been processed'; fprintf(fileID,fmt,text); fclose(fileID); end