updating/inserting summary array
이전 댓글 표시
hi, i have a summary array where it keeps a count of repeated items. e.g
sumarray = {'red', 2; ...
'blue', 3}
etc. While running a for loop, if a red item appears, I simply want to increment the count to 3 for 'red', if a new category comes in e.g. 'pink' I simply want to add a new row {'pink',1}. What is the most efficient way to implement this?
Thanks.
댓글 수: 1
채택된 답변
추가 답변 (1개)
You would have to test, but here is what I guess is an efficient solution:
colors = {'red', 'black', 'red', 'green', 'red', 'green', 'red'} ;
[uc,~,ic] = unique( colors ) ;
counts = accumarray( ic, 1 ) ;
sumarray = [uc.', num2cell(counts)] ;
For the given dummy set of colors, this outputs
>> sumarray
sumarray =
'black' [1]
'green' [2]
'red' [4]
카테고리
도움말 센터 및 File Exchange에서 Logical에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!