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 ビュー (過去 30 日間)
We want to know how often a day repeats.

回答 (2 件)

Isabella Osetinsky-Tzidaki
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

Star Strider
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.

カテゴリ

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!

Translated by