Indexing way to retrieve indices of nonempty elements of a cell array?

조회 수: 3 (최근 30일)
Is there an indexing way (I couldn't figure one out) to do what this little function does:
function nonempty = findNonEmpty(cellarray)
% Find indices of non-empty array elements of cellarray
% Example:
% findNonEmpty({[], {3}, [], [], eye(100)}) returns [2 5]
nonempty = [];
for i=1:length(cellarray)
if ~isempty(cellarray{i})
nonempty(end+1) = i;
end
end

채택된 답변

Fangjun Jiang
Fangjun Jiang 2011년 7월 29일
a={[], {3}, [], [], eye(100)};
b=find(~cellfun('isempty',a))

추가 답변 (1개)

David Goldsmith
David Goldsmith 2011년 7월 29일
Jackpot, thanks!!!
Awesome, I wasn't aware of cellfun (obviously); thanks again!

카테고리

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

Community Treasure Hunt

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

Start Hunting!

Translated by