Convert daily average temperature to hourly temperature

5 次查看(过去 30 天)
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 个评论
Bjorn Gustavsson
Bjorn Gustavsson 2021-3-18
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

请先登录,再进行评论。

回答(1 个)

Walter Roberson
Walter Roberson 2021-3-18
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/

类别

Help CenterFile Exchange 中查找有关 MATLAB 的更多信息

产品


版本

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by