Index Non-Empty Cells in Cell Array

408 views (last 30 days)
Hi,
I have the following cell array
TEST = [1] [] [] [] []
I want to get the index position of the non-empty cell. I know I can do this using a loop, but is there any single command (like "find") that will do this?
Thank you!
JF

Accepted Answer

Honglei Chen
Honglei Chen on 28 Jun 2012
Edited: Honglei Chen on 28 Jun 2012
x = {1,[],[],[]};
find(~cellfun(@isempty,x))
  6 Comments
Md. Mubarak Hossain
Md. Mubarak Hossain on 16 May 2017
a={1 [] [];2 [] 4;5 6 []} find(~cellfun(@isempty,a)) ans =
1
2
3
6
8
Here I'm getting answer in column wise. But How to get row wise answer.
That's means I wanna get
ans=1 4 6 7 8 .
How to get it?
Serge Kogan
Serge Kogan on 21 Oct 2020
Md. Mubarak Hossain, You can get it by transposing the cell array a :
a={1 [] [];2 [] 4;5 6 []};
find(~cellfun(@isempty,a'))

Sign in to comment.

More Answers (1)

Attila
Attila on 16 May 2017
Dear Mubarak,
This will work : find(~cellfun(@isempty,a'));

Categories

Find more on Matrices and Arrays in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!