# Calculation of diurnal cycle

8 views (last 30 days)
Daphne PARLIARI on 28 Jan 2020
Commented: Star Strider on 30 Jan 2020
Hi everyone!
I have some .csv files (attached you can see one of them) containing hourly values of temperature and humidity from 1/7/2019 to 30/9/2019. Frome these values I want to extract the diurnal cycle of temperature and humidity, which means 1 mean value for all dates at 00:00, one for 01:00, till 23:00.
What is the most efficient way to do so?
darova on 28 Jan 2020
What about mean function? Did you try it?
Daphne PARLIARI on 29 Jan 2020
Sure but I want to take the mean considering the hours, that's what I am not sure how to achieve...

Star Strider on 29 Jan 2020
Try this:
Hrs = hour(D.Date); % Hours
[UHr,~,ic] = unique(Hrs); % Hours Reference Index Vector
TRH = accumarray(ic, (1:numel(Hrs)).', [], @(x){mean([D.Temp(x),D.RelHum(x)])}); % Means By Hour
TRHmtx = cell2mat(TRH); % Matrix From Cell Array: [Temp RelHum]
figure
yyaxis left
plot(UHr, TRHmtx(:,1))
ylabel('Temperature (°C)')
yyaxis right
plot(UHr, TRHmtx(:,2))
ylabel('Relative Humidity (%)')
grid
xlabel('Time (Hours)')
set(gca, 'Xtick',(0:23))
xlim([0 23])
producing:
Daphne PARLIARI on 30 Jan 2020
Thank you!!!
Star Strider on 30 Jan 2020
As always, my pleasure!