数据按照站名和时间顺序整理

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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值