Help ! Average half hourly into 3 hours and save the file as mat with filename reflecting the startTime and Endtime
1 view (last 30 days)
Show older comments
nlm on 14 Nov 2018
Commented: Walter Roberson on 16 Nov 2018
I'm reading half hourly HDF5 files, on which I run some analysis. I want to now average these processed half hourly into 3 hours. This does NOT run.
sad = dir( fullfile('path', '*.HDF5' )); %% all the HDF5 files in the folders for two years and half hourly
for ii = 1:length(sad)
[data, name] = read_one_file(sad(ii).name) ; %%% read_one_file where my hour half files are processed
while (data(ii).TimeID - data(ii).TimeID) == 0 %% TimeID is same for half hourly files within 3 hour windows, so have 8 uniques values for a day
new = nanmean(data(ii).H); %%% here i want to average all the var fields in data strcuture where my TimeID remains same and for same date
extention='.mat'; %%% ext
matname = fullfile('path\test', [[name,num2str(StartTime(ii)),num2str(EndTime(ii))] extention]) % want to save with file with startTime and EndTime
My data structure has following fields;
data.H ; data.Th ; data.Date ; data.EndTime ; data.StartTime ; data.TimeID ;
Walter Roberson on 16 Nov 2018
each iteration of the for loop you are overwriting all of data. You should be storing into data(i) instead . Have it read all of the data first, and then it can make sense to process the data from several files together .
Find more on HDF5 in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!