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!

3 visualizaciones (últimos 30 días)
We want to know how often a day repeats.

Respuestas (2)

Isabella Osetinsky-Tzidaki
Isabella Osetinsky-Tzidaki el 12 de Dic. de 2016
Editada: Isabella Osetinsky-Tzidaki el 12 de Dic. de 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 el 12 de Dic. de 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.

Categorías

Más información sobre Dates and Time en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by