2012-08-13 90 views
0

我有以下的细胞:查找单元格式信息在MATLAB

matr = '01/07/2012' '00:00' [ 0.2000] 
     '05/07/2012' '17:00' [  1] 
     '05/07/2012' '20:00' [ 8.4000] 
     '05/07/2012' '21:00' [ 1.2000] 
     '06/07/2012' '02:00' [ 0.4000] 
     '06/07/2012' '19:00' [  5] 
     '07/07/2012' '01:00' [  7] 
     '08/07/2012' '00:00' [ 4.2000] 
     '08/07/2012' '01:00' [  3] 
     '08/07/2012' '04:00' [ 0.2000] 
     '09/07/2012' '16:00' [ 0.2000] 
     '09/07/2012' '23:00' [  3] 
     '22/07/2012' '20:00' [ 4.2000] 
     '23/07/2012' '20:00' [ 1.2000] 
     '23/07/2012' '22:00' [ 5.4000] 
     '25/07/2012' '22:00' [14.6000] 
     '27/07/2012' '21:00' [ 0.2000] 
     '28/07/2012' '23:00' [ 0.2000] 
     '30/07/2012' '20:00' [ 0.2000] 

我想20:00至23:00之间只选择信息。我如何继续,一旦matr(:,2)是一个字符串信息?

+1

您需要将时间信息转换为数字,以便您可以使用>或<运算符进行比较,请参阅http://www.mathworks.com/help/techdoc/ref/datenum .html – slayton 2012-08-13 20:12:12

回答

1

如果您只关心小时,那么只需使用该列创建索引数组。这可以通过datevec函数快速完成。

[~,~,~,H] = datevec(matr(:,2)); 
idx = H >= 20 & H <= 23; 
matr(idx,:) 
+0

它很棒。 – 2012-08-14 15:21:09