我试图寻找在指数Date3
,日期数字的列向量从01/01/2008至2014年1月31日已经被重复了很多次,比赛day
。 我基本上要组织IDX成单元阵列像idx{i}
其中每个细胞是天(所以返回的所有索引,其中DATE3等于天,其中一天是01/01/2008和1月31日之间的日子之一/ 2014,最后,我要通过施加我发现给变量的指数拉出每一天的数据Data2
(数据2整形以便代替的数据浓度的长列向量,我将有一个单元阵列,其中每个细胞是从一天的所有数据)
这是我一直在做的事情:
for day = datenum(2008,01,01):1:datenum(2014,01,31); % All the days under consideration
idx = find(Date3, day); % Index of where Date3 equals the day under consideration
Data_PM25 = Data2(idx); % Pull out the data based on the idx
end
例如:如果Date3
如下所示(它实际上更大,重复很多很多次)
733408
733409
733410
733411
733412
733413
733414
733415
733416
733417
733418
733419
733420
733421
733408
733409
733410
733411
733412
733413
733414
733415
733416
733417
733418
733419
733420
733421
我想IDX是
`idx{1}` = (1, 15) % Where 733408 repeats
`idx{2}` = (2, 16) % Where 733409 repeats
...
然后Data2
,它看上去像:
[NaN]
[NaN]
[NaN]
[NaN]
[NaN]
[NaN]
[NaN]
[NaN]
[NaN]
[NaN]
'25.8'
'26.1'
'28.9'
'37.5'
'25.2'
'20'
'32.3'
'41'
'46.7'
'28.2'
'34.5'
'31.8'
'37.6'
'45.5'
'54.9'
'54.8'
'36.3'
'18.5'
现在看起来像
'Data_PM25{1}' = ([NaN], '25.2')
'Data_PM25{2}' = ([NaN], '20')
...
当然,实际产出将不仅仅是两场比赛长得多。
这似乎虽然要发生的是,我每天都比较day
对Date3
,天名单,所以我让所有的天回。
这个问题展开过前一个问题的: 寻找到一个值匹配,并concatentate成列向量MATLAB