Using for loop to count how many times a content appears in a cell array?

Hello MATLAB Experts,
Suppose I have a cell arr arr
I want to use for loop to get the pattern of each different words in the cell and Sort like this form:
Descending => Alphabetical order if the patern of 2 words are equal
aa: 3
cs: 2
avb: 1
ef: 1
arr = {'aa';'avb';'cs';'aa';'ef';'aa';'cs'}
%Then I use for loop to find the pattern of each cell
for i = 1 : length(arr)
list = find(strcmp(arr,arr(i)))
end
%The list appears at both 'aa' 1st position and 'aa' 4th position. How can I get rid one of them??
Thank you for your help!!!

 Réponse acceptée

madhan ravi
madhan ravi le 21 Juin 2019
Modifié(e) : madhan ravi le 21 Juin 2019
T=cell2table(arr);
Wanted = sortrows(varfun(@sum,T,'GroupingVariables','arr',...
'OutputFormat','table'),2,'descend')
% For versions since 2018b
Wanted = sortrows(groupsummary(T,{'arr'}),2,'descend')

2 commentaires

Thank you.
Just one more question. Is there anyway that I can get rid of one repeat content as my code above???
madhan ravi
madhan ravi le 21 Juin 2019
Modifié(e) : madhan ravi le 21 Juin 2019
Honestly, what your doing is waste of time. Btw what release are you using? When you ask a question mention what release your using forehand don’t let the answerers guess!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

Community Treasure Hunt

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

Start Hunting!

Translated by