【发布时间】:2019-11-26 22:38:29
【问题描述】:
我使用 matlab 2014b。 我有一个错误的程序步骤。我不知道我的脚本有什么问题。 我每 10 分钟有一次数据。时间和价值RR。
09/10/2014 3:00 0
09/10/2014 3:10 0
09/10/2014 3:30 0.4
09/10/2014 3:50 0.4
09/10/2014 4:00 0.4
09/10/2014 4:10 0.4
09/10/2014 4:20 0.4
09/10/2014 4:30 0.4
10/10/2014 4:40 0.4
09/10/2014 4:50 0.4
09/10/2014 5:00 0.4
09/10/2014 5:10 0.4
09/10/2014 5:20 0.4
....
数据由 12176x2 单元格组成
可以看到,第二行之后没有时间信息,也没有凌晨3点20分的数据。我想每10分钟获取一次数据,空数据填充0/NAN。
我使用 matlab 2014b 并且该版本中没有 retime 函数。
我要感谢任何试图提供帮助和建议的人。
times = out(:,1);
dn = datenum(times);
min_time = min(dn);
min_time_dv = datevec(min_time);
min_time_dv(5) = floor(min_time_dv(5) / 10) * 10;
first_slot_dn = datenum(min_time_dv);
max_time = max(dn);
max_time_dv = datevec(max_time);
max_time_dv(5) = floor(max_time_dv(5) / 10) * 10;
last_slot_dn = datenum(max_time_dv);
ten_mins_as_days = 1 / (24 * 60/10);
slot_dns = first_slot_dn : ten_mins_as_days : last_slot_dn;
slot_ds = datestr(slot_dns);
times_minutes = [cellstr(slot_ds(1:end,:))];
slot_ds = datestr(slot_dns);
[~, slot_idx] = histc(dn, slot_dns);
mean_RR1 = accumarray(slot_idx, RR(:), [length(slot_dns),1],@nanmean);
output1 = [cellstr(slot_ds(1:end,:)), num2cell(mean_RR1)];
我写了一个脚本,它每 10 分钟就正常化了。但是缺少的时间并没有被NAN填补。标准化 NAN 值时出错。有修复的建议吗?
我希望结果是这样的:
09/10/2014 3:00 0
09/10/2014 3:10 0
09/10/2014 3:20 NAN
09/10/2014 3:30 0.4
10/10/2014 3:40 NAN
【问题讨论】: