Extracting single numbers from each cell in a cell array
조회 수: 5 (최근 30일)
이전 댓글 표시
I have a 451x1 cell array, each cell is a 57x41 double. From each cell (which represents a timepoint) I need to extract the value of one location, the same one for all cells. e.g. From all 451 cells I need to extract (32, 25) from the 57x41 double. I then need to combine these into a 451x1 double. How can I do this? I'm having trouble getting the correct notation.
Thank you
댓글 수: 0
채택된 답변
Voss
2022년 3월 21일
% first, create a cell array like yours:
C = cell(451,1);
for ii = 1:numel(C)
C{ii} = randn(57,41);
end
% look at the first couple of cells' (32,25) element:
C{1}(32,25)
C{2}(32,25)
% now get the specified element from each cell into a double array:
A = cellfun(@(x)x(32,25),C)
댓글 수: 2
Voss
2022년 3월 21일
편집: Voss
2022년 3월 21일
Anywhere my code uses C, your code should use u_filtered, but it's really just one line to do the actual indexing (the rest is to create my cell array, which you already have):
% get the specified element from each cell into a double array:
A = cellfun(@(x)x(32,25),u_filtered)
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Matrix Indexing에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!