Convert daily average temperature to hourly temperature
4 views (last 30 days)
Show older comments
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
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
Answers (1)
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/
2 Comments
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!