identifying successive dates in a cell vector

1 vue (au cours des 30 derniers jours)
Sabbas
Sabbas le 1 Août 2012
Dear all
I have the following sequence of dates
A={
'11/08'
'11/08'
'12/08'
'01/09'
'02/09'
'03/09'
'04/09'
'05/09'
'06/09'
'07/09'
'08/09'
'09/09'
'10/09'
'11/09'
'11/09'
'12/09'
'01/10'
'02/10'
}
As you can see some succesive dates contain the same month/year (for example the first 2 dates).
I would like to be able to identify the identical succesive dates
so as to construct an if statetement that will say
for ii=2:length(A)
if A(ii,1)==A(ii-1,1)
'do this'
end
end

Réponse acceptée

Andrei Bobrov
Andrei Bobrov le 1 Août 2012
Modifié(e) : Andrei Bobrov le 1 Août 2012
[a,b,c] = unique(A);
[jj,jj] = sort(b);
out = accumarray(c,(1:numel(c))',[],@(x){x});
out = [a(jj),out(jj)];
ADD
a = [false all(diff(char(A)-'0')==0,2)'];
a(strfind(a,[0 1])) = true;
or
[c,c,c] = unique(A);
k = [false;diff(c)==0];
k(find(k)-1)=true;
  4 commentaires
Andrei Bobrov
Andrei Bobrov le 1 Août 2012
see ADD
Sabbas
Sabbas le 1 Août 2012
Excellent!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Dates and Time dans Help Center et File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by