clear
clc
load('rhu_cloud_wind.mat');
load('sta.mat');
%% 将数据按时间排列整齐
t0 = datetime(1990,1,1);
t1 = datetime(2019,12,31);
t = t0 : t1;
% t.Format = 'yyyyMMdd' % 转换成任意想要的时间格式,'yyyyMMMdd','yyyyMMMMdd','MM月dd日'
t30n_str = datestr(t,'yyyy-mm-dd'); %datetime数据类型转为char类型
t_str = datestr(t,'yyyymmdd');
t_num = str2num(t_str); % char类型转为数组double
sta_all = unique(filedata(:,1)); % 提取站号
%% 按照时间和站点整理数据
for i = 1 : length(sta)
i
data = filedata(filedata(:,1) == sta(i,1),:);
if length(data) == length(t30n_str) %意味着数据没缺测,整体搬移即可
rhu_ave(i,:) = data(:,5)';
rhu_min(i,:) = data(:,6)';
cloud(i,:) = data(:,7)';
wind_max(i,:) = data(:,8)';
else %数据有缺测,按照对应时间排列
data_t_str = date2string(data);
for j = 1 : length(data)
disp(['第',num2str(i),'站,第',num2str(j),'行'])
for k = 1 : length(t30n_str)
if data_t_str(j,:) == t30n_str(k,:)
rhu_ave(i,k) = data(j,5);
rhu_min(i,k) = data(j,6);
cloud(i,k) = data(j,7);
wind_max(i,k) = data(j,8);
end
end
end
end
end
数据按照站名和时间顺序整理
最新推荐文章于 2022-04-23 17:53:51 发布