基于两个列值搜索矩阵

时间:2014-07-30 12:57:28

标签: matlab

我有一个名为dt_search的日期编号和一个名为dt_sales的日期编号向量。

dt_search是2014年7月1日的一个月中的第一个(这将是Matlab中的日期数字格式)。

dt_sales包含月度日期和月份的日期是该月份的最后一个工作日。我想搜索dt_sales以查看是否可以找到dt_search但忽略日期的那一天。

我正在考虑(请告诉我是否有更好的方法)做类似以下的事情,

 dt_search = datevec(dt_search) % to get the year and month part [2014 7 1 0 0 0]
 dt_sales = datevec(dt_sales)

所以dt_sales看起来像下面的&我可以搜索下面的数据,了解2014年的年份和月份是7,它将返回指数位置,在这种情况下将是7

 [2014 1 25 0 0 0]
 [2014 2 26 0 0 0]
 [2014 3 28 0 0 0]
 [2014 4 30 0 0 0]
 [2014 5 29 0 0 0]
 [2014 6 23 0 0 0]
 [2014 7 31 0 0 0]
 [2014 8 30 0 0 0]

1 个答案:

答案 0 :(得分:1)

使用&

dt_search = datevec(dt_search);
dt_sales = datevec(dt_sales);

ind = dt_sales(:,1)==dt_search(:,1) & dt_sales(:,2)==dt_search(:,2) 

ind = all(dt_sales(:,1:2)==dt_search(:,1:2),2)