Help ! Average half hourly into 3 hours and save the file as mat with filename reflecting the startTime and Endtime
1 回表示 (過去 30 日間)
古いコメントを表示
Hi,
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.
clc
clear all
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
save(matname,'new');
end
end
My data structure has following fields;
data.H ; data.Th ; data.Date ; data.EndTime ; data.StartTime ; data.TimeID ;
3 件のコメント
Walter Roberson
2018 年 11 月 16 日
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 .
回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Data Import and Analysis についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!