grouping elements of a matix according to an increasing order of dates

1 view (last 30 days)
Hi all,
i have a matrix A which I have sorted according to the command zoi=sortrows(A, 3 ) and the result is zoi=
'PDL12' '01-01-2011' [ -0.0138]
'PDL13' '01-01-2011' [ 0.3529]
'PDL12' '01-11-2009' [ -0.0812]
'PDL13' '01-11-2009' [ -0.2377]
'PDL12' '04-10-2009' [ -0.0208]
And I would like to have
'PDL12' '04-10-2009' [ -0.0208]
'PDL12' '01-11-2009' [ -0.0812]
'PDL13' '01-11-2009' [ -0.2377]
'PDL12' '01-11-2009' [ -0.0812]
'PDL13' '01-01-2011' [ 0.3529]
In other words, i want to group all the elements that correspond to the earliest date, then all the elements that correspond to the date after the earliest one and so forth. Any suggestions?
thanks

Accepted Answer

Thomas
Thomas on 24 May 2012
a={ 'PDL12' '01-01-2011' [ -0.0138]
'PDL13' '01-01-2011' [ 0.3529]
'PDL12' '01-11-2009' [ -0.0812]
'PDL13' '01-11-2009' [ -0.2377]
'PDL12' '04-10-2009' [ -0.0208]}
d=datenum(a(:,2),'dd-mm-yyyy');
[l,idx]=sortrows(d);
a(idx,:) % output

More Answers (0)

Categories

Find more on Dates and Time in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!