How to calculate hourly average value for measured Temperature, CO2, RH and Rid in 5 minutes interval
조회 수: 4 (최근 30일)
이전 댓글 표시
Hello all.
Hopfully you all stay well and safe.
I have Temperature, CO2, RH and Rid measured each 5 minutes interval for about 36 days, (from 09/04/2020 to 14/05/2020) about 10080 rows in total. From these data I need to calculate the hourly average value for these measured Temperature, CO2, RH and Rid which means that eventually I must have 24 hourly averaged values per day.
I would appreciate any ideas on the matter!
I have attached the excel file I'm working on.
Regards
댓글 수: 0
채택된 답변
Walter Mabry
2021년 2월 11일
편집: Walter Mabry
2021년 2월 11일
The loop below breaks up you time stamps into hours and creates a new vector with the mean value for each hour of the provided data.
Temp = data1(:,4);
i = 12:12:840;
for k = 1:length(i)
DailyAvg(k) = mean(Temp((i(k)-11):i(k)));
end
댓글 수: 7
Walter Mabry
2021년 2월 11일
you are importanting the data as a cell. just import the numbers as an array with out the headings. You could use readmatrix() or just use the import data tool under the home tab
추가 답변 (2개)
Cris LaPierre
2021년 2월 11일
Use groupsummary. I suggest combining your dates and times into a single datetime varlable to make this easier.
opts = detectImportOptions("Gadelhagdata.xlsx","Range",'A:K');
opts = setvartype(opts,"time","duration");
opts = setvaropts(opts,"time","InputFormat","hh:mm:ss");
data = readtable("Gadelhagdata.xlsx",opts);
% combine data and time
data.date = data.date + data.time;
data.time = [];
hrAvg = groupsummary(data,"date","hour","mean")
댓글 수: 6
Sean de Wolski
2021년 2월 11일
Read it in as a timetable readtimetable then call retime which does exactly what you want.
t = readtimetable('yourfile')
fiveminutemean = retime(t, 'Regular', 'mean', 'TimeStep', minutes(5))
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Data Type Conversion에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!