We have a matrix containing the year month and day of data points. We want to find out how often each day occurs. Thanks in advance!

2 views (last 30 days)
We want to know how often a day repeats.

Answers (2)

Isabella Osetinsky-Tzidaki
Edited: Isabella Osetinsky-Tzidaki on 12 Dec 2016
% A is N by 3 matrix (y,M,d)
B=datetime(A,'Format','yyyyMMdd');
C=char(B);
D=str2num(C);
F=unique(D);
L=length(F);
Answer=nan(L,2); % pre-allocate date and its occurrence columns
for i=1:L
n=length(find(D==F(i)));
Answer(i,:)=[F(i) n];
end

Star Strider
Star Strider on 12 Dec 2016
Another approach:
M = [2016 12 12; 2016 12 11; 2016 12 11; 2016 12 10]; % Create Data
dn = datenum( M ); % Compute Date Numbers
[Ud,ia,ic] = unique(dn, 'stable'); % The 'stable' Argument Retains The Original Order
date_tally = accumarray(ic, 1); % Count Occurrences
Result = [M(ia,:), date_tally]
Result =
2016 12 12 1
2016 12 11 2
2016 12 10 1
You will need to make appropriate changes for the format of your dates (you did not specify what they were). This should do what you want.

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!