Unpacking and tabulating contents of a cell array

조회 수: 24 (최근 30일)
Ryan Graham
Ryan Graham 2021년 3월 9일
댓글: Ryan Graham 2021년 3월 9일
Hi, I have the following cell array:
My goal is to unpack the contents of each cell and tabulate the amount of times each number occurs. My first attempt below unpacks each cell in the command window and only the final 25th cell in the workspace under 'ans':
vsel{:}
My second attempt only returns the 1st of 25 cells in a new array in the workspace:
h = size(vsel,1);
vsel = vsel{1:h,1};
My third attempt was to use a comma separated list and employ concatenation but that only appears to work on arrays where each cell is of the same dimensions:
matrix = vertcat(vsel{:});
Once I can extract this information, I plan on tabulating the amount of times each number appears in each cell. Any help would be greatly appreciated!
-Ryan
  댓글 수: 3
Walter Roberson
Walter Roberson 2021년 3월 9일
In the posted data, the entries are all sorted and no entry occurs more than once per cell. Are those characteristics that can be counted on?
Ryan Graham
Ryan Graham 2021년 3월 9일
Hi Stephen and Walter,
Thanks for your help. This is an adaptive - reweighted iterative sampling approach that will always return a 25x1 cell array. However, the contents of each cell in the array can range from 1:2 to 1:50. Using Walter's initial approach, I was able to create a histogram of how many times each number appeared in total for the 25x1 array using the following:
edges = unique(allnumbers)
counts = histc(allnumbers(:),edges)
bar(counts)

댓글을 달려면 로그인하십시오.

채택된 답변

Walter Roberson
Walter Roberson 2021년 3월 9일
all_numbers = horzcat(vsel{:});
This is the same as
all_numbers = [vsel{:}];

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Resizing and Reshaping Matrices에 대해 자세히 알아보기

제품


릴리스

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by