MATLAB Answers

Calculation of diurnal cycle

27 views (last 30 days)
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?
Thank you in advance!
  2 Comments
Daphne PARLIARI
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...

Sign in to comment.

Accepted Answer

Star Strider
Star Strider on 29 Jan 2020
Try this:
D = readtable('Airport.csv');
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:
1Calculation of diurnal cycle - 2020 01 28.png

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by