Find Number of Elements in an Array

22 views (last 30 days)
Hello guys. I want to find the number of elements in a string array.
Lets say A = ['KM'; 'KL'; 'MN'; 'KM', 'MM', 'KL'] is my array list.
It should give output as;
[2,2,1,1] since my string array includes 2 KM, 2 KL, 1MN, and 1MM.
How can i do that?

Accepted Answer

Adam Danz
Adam Danz on 19 Aug 2019
The "A" array provided in the question will result in a dimensions mismatch error. I'm assuming A is an [nx2] char array.
A = ['KM'; 'KL'; 'MN'; 'KM'; 'MM'; 'KL'];
% Convert char array to cell array of strings
Acell = cellstr(A);
% Find groups of strings
[groups, groupID]= findgroups(Acell(:));
% Count members of each group
count = sum(groups(:).' == unique(groups(:)),2);
% Display results in a table
countTable = table(groupID(:),count(:),'VariableNames',{'Group','Count'});
Result
countTable =
4×2 table
Group Count
_____ _____
'KL' 2
'KM' 2
'MM' 1
'MN' 1
  2 Comments
Burak Alakus
Burak Alakus on 20 Aug 2019
Thank you Mr. Danz. This answer really helped me.
Adam Danz
Adam Danz on 20 Aug 2019
Glad I could help and learn along with ya!

Sign in to comment.

More Answers (1)

Andrei Bobrov
Andrei Bobrov on 19 Aug 2019
Edited: Andrei Bobrov on 19 Aug 2019
A = {'KM'; 'KL'; 'MN'; 'KM'; 'MM'; 'KL'};
out = varfun(@x,table(A),'GroupingVariables','A')
  1 Comment
Burak Alakus
Burak Alakus on 20 Aug 2019
Thank you Mr. Bobrov. This answer really helped me.

Sign in to comment.

Categories

Find more on Numeric Types 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!