identifying successive dates in a cell vector

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

Sabbas
Sabbas le 1 Août 2012
thanks andrei. But I need to leave the initial vector of dates unchanged so as to have for example
AA=(1, 1,0, 0,..)
Sabbas
Sabbas le 1 Août 2012
could you please help me?. I am so close in finding the correct answer
thanks
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

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by