0

我正在编写用于预测水温的模型的一些组件,并且我有一组输入文件(i)气温;(ii) 辐射;(iii) 云量;(iv) 风速;(v) 相对湿度。为了通过方程传递这些数据,我首先需要确保在一致的时间测量所有变量,其中一些输入数据可以以 30 分钟、60 分钟、每天等的分辨率进行测量,并且还可以有缺失数据点。考虑以下示例值:

JdayCC = datenum('2011-01-01 00:00','yyyy-mm-dd HH:MM'):60/(60*24):...
    datenum('2011-12-31 23:00','yyyy-mm-dd HH:MM');
DatCC = rand(1,length(JdayCC));

JdayAirT = datenum('2011-04-01 00:00','yyyy-mm-dd HH:MM'):30/(60*24):...
    datenum('2011-12-31 23:00','yyyy-mm-dd HH:MM');
JdayAirT(200:250) = [];
JdayAirT(400:420) = [];
DatAirT = rand(1,length(JdayAirT));

JdayRH = datenum('2011-02-06 00:00','yyyy-mm-dd HH:MM'):3600/(60*24):...
    datenum('2011-12-31 22:00','yyyy-mm-dd HH:MM');
DatRH = rand(1,length(JdayRH));

JdayWnd = datenum('2011-02-06 00:00','yyyy-mm-dd HH:MM'):60/(60*24):...
    datenum('2011-12-31 20:00','yyyy-mm-dd HH:MM');
JdayAirT(400:420) = [];
DatWnd = rand(1,length(JdayWnd));

JdaySW = datenum('2011-02-07 00:00','yyyy-mm-dd HH:MM'):60/(60*24):...
    datenum('2011-12-31 22:00','yyyy-mm-dd HH:MM');
DatSW = rand(1,length(JdaySW));

我想编写一个函数来查看所有这些变量,并确定所有变量可以平均到的分辨率。例如,如果数据是

(i) 每小时一次;(ii) 每小时一次;(iii) 每天;(iv) 30 分钟;(v) 每天

然后该函数将所有变量平均为每日值,然后找到所有变量之间的一致时间,并保持这些变量通过方程。

4

1 回答 1

0

diff将告诉您数据的每个值之间的(时间)增量DatCCDatAirT等等...以帮助您确定采样时间是多少(假设它是均匀采样)。然后,您可以为每个数据创建一个时间序列,并使用resample相同的采样时间(现有采样时间的最小值)获取所有数据。

于 2013-07-01T08:40:29.380 回答