【发布时间】:2012-11-29 10:50:33
【问题描述】:
我有一个时间序列:
d = [transpose(floor(1+1/24:1/24:366)),1+(30-1).*rand(8760,1)];
其中第一列是指一年中的某天,第二列是指数据。数据以小时为单位,但在此处以表示测量日期为底数。
我想将数据拆分到不同的单元格中,每个单元格显示数据开始时间不同的不同日期的数据。例如,如果我从示例中选择某一天:
dat = d(d(:,1)==2,:);
我想根据以下语句将其拆分为不同的单元格:
Res = 1:11;
starti = arrayfun(@(x)dat(x:end,:),Res,'un',0);
这给了我相同的系列,但起点不同。然后我通过以下方式找到值的范围:
rng = cellfun(@(x)range(x(:,2)),starti,'un',0);
除了整个系列,我将如何执行相同的方法,即
dat = d;
感谢您的帮助
【问题讨论】:
-
只是备注,如果您可以将数据存储在矩阵而不是单元格中,您可能会让事情变得更容易。但当然,这是否可以管理在一定程度上取决于您的数据。