matlab ismember问题与日期

egdjgwm8  于 2023-06-23  发布在  Matlab
关注(0)|答案(1)|浏览(133)

我对MATLAB的ismember函数有一些问题。我有两个不同长度的日期变量,我想比较并找到相似之处:

所以我使用了ismember(Date1,Date2),但是我得到的逻辑值总是0,即使它是同一个日期。
你知道如何纠正这个问题吗?我应该使用ismember以外的函数吗?

qyuhtwio

qyuhtwio1#

如果从ismember得到零

TimeP = {'01/01/1981','26/01/1981'};
Date =  {'01/01/1981','26/01/1981','20/02/1981','11/02/1981'};
timeIrr = datetime(TimeP,'InputFormat','dd/MM/yyyy'); 
timeT   = datetime(Date, 'InputFormat','dd/MM/yyyy'); 
ismember(timeT,timeIrr)

就加

dateshift(yourDate,'start','end')

以这种方式:

TimeP = {'01/01/1981','26/01/1981'};
Date =  {'01/01/1981','26/01/1981','20/02/1981','11/02/1981'};
timeIrr = datetime(TimeP,'InputFormat','dd/MM/yyyy'); 
timeT1 = datetime(Date, 'InputFormat','dd/MM/yyyy'); 
timeT = dateshift(timeT1, 'start', 'day'); 
ismember(timeT,timeIrr)

输出:

ans =
  1×4 logical array
   1   1   0   0

相关问题