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!
1 次查看(过去 30 天)
显示 更早的评论
We want to know how often a day repeats.
0 个评论
回答(2 个)
Isabella Osetinsky-Tzidaki
2016-12-12
编辑:Isabella Osetinsky-Tzidaki
2016-12-12
% 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
0 个评论
Star Strider
2016-12-12
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.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Dates and Time 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!