best way to search date in vector
2 views (last 30 days)
Show older comments
hello,
i have a vector of numerical dates that repeat but not in a specific order. i need to search for all dec 1984 then do some things then search for all dec 1985 and do some things and so on until dec 2010. what is the easiest way to do it? i tried converting to string date and then concatenate but it takes too long. any suggestion on what is the best way?
many thanks, a
0 Comments
Accepted Answer
Andrei Bobrov
on 29 Jun 2011
dev = datevec(dateinput);
dateout = sortrows(dev(dev(:,2)==12,1:3),1)
0 Comments
More Answers (2)
Jan
on 29 Jun 2011
date_numbers = [733588.513, 733688.513, 733788.513];
date_vector = datevec(date_numbers);
for year = 1984:2010
index = and(date_vector(:, 1) == i, date_vector(:, 2) == 12);
% Now "index" is the LOGICAL index, which is
% very efficient usually for selecting data.
% Perhaps "find(index)" is useful also.
end
0 Comments
Krishna Kumar
on 29 Jun 2011
With the description you've given, seems 'find' will do it fine- x=find(vector==1984). Seems you want to do sth like a loop- for ind=1984:2010 x=find(vector==ind); %%Your statements%% end
See Also
Categories
Find more on Dates and Time in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!