Convert daily average temperature to hourly temperature

5 views (last 30 days)
Hi all...
I have daily min max temperature data for a period. I need to convert this daily data to hourly data. Please anyone suggest me a method or code for this.
Thanks in advance
  1 Comment
Bjorn Gustavsson
Bjorn Gustavsson on 18 Mar 2021
NO.
You cannot.
Do you even have the time-of-day for when the max and min temperatures occured?
Let's take an example from "real life":
1 In the morning the sun was basking at temperatures rose very rapidly.
2a, in the afternoon the temperatures reached X degrees hot.
2b, around lunch a cold-front swept in with heavy rain and Y was the highest temperature around 1130-1200.
1c-2c, not such a hot a day but with steady sunlight we got Y degrees in the afternoon at the same tod as in 2a
This gives you three completely different temperature-curves for the day, and you dont have enough information to conjure up information.
Even if you have the time-of-day for the max and min you dont have more than that. You then could use interp1 to interpolate temperatures between these times but that is guess-work dressed up in fancy dress:
T_madeiuppy = interp1(t_all,Temp_all,t_all(1):(1/24):t_all(end),'pchip');
The pchip method at least respects the max and min-values of the data.
HTH

Sign in to comment.

Answers (1)

Walter Roberson
Walter Roberson on 18 Mar 2021
Convert the data to a timetable() object, and use retime()
You may have to assume something along the lines that the high occurred at 3pm and the low occurred at 7am. https://ownyourweather.com/hottest-and-coldest-time-of-the-day/

Categories

Find more on MATLAB in Help Center and File Exchange

Products


Release

R2019b

Community Treasure Hunt

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

Start Hunting!