Calculation of diurnal cycle

18 views (last 30 days)
Daphne PARLIARI
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?
Thank you in advance!
  2 Comments
darova
darova on 28 Jan 2020
What about mean function? Did you try it?
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)

Categories

Find more on Data Type Conversion 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!