问题描述
我正试图将自己的excel电子表格导入到MATLAB中(已经完成了此操作),然后使用for
循环索引来创建包含指定日期的数据数组。
因此,理想情况下,我想知道如何遍历多年的数据,并创建日期与那天中表元素相对应的变量。正如我所说,我拥有多年的数据价值,这就是为什么我想要一个可以“自动化”我的流程的解决方案的原因。
解决方法
欢迎来到stackoverflow!请注意,如果您提供一些代码-至少创建一些示例数据,会更容易。
无论如何,您可以轻松地遍历日期,并且如果将日期缩放到许多条目,效率也不会出现问题:
Tm = [ datetime('now') + duration(1,0)%add 1 hour
datetime('now')
datetime('yesterday')
datetime('tomorrow')];
% convert to date
Dt = yyyymmdd(Tm);
% you may want to sort it
% [val,idx] = sort(Dt);
% get unique dates
Dt_uq = unique(Dt);
% create a cell of storage
DataAtDate = cell(length(Dt_uq),1);
% loop over unique dates
for i = 1:length(Dt_uq)
Dt1 = Dt_uq(i);
% get all of the same type
lg = Dt == Dt1;
% index matrix/cell to do something
disp(Dt(lg,:))
% do something with the data or matrix or table... e.g. store it in a cell
DataAtDate{i} = Dt(lg,:);
end