Index Non-Empty Cells in Cell Array

387 Ansichten (letzte 30 Tage)
John F
John F am 28 Jun. 2012
Kommentiert: Serge Kogan am 21 Okt. 2020
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

Akzeptierte Antwort

Honglei Chen
Honglei Chen am 28 Jun. 2012
Bearbeitet: Honglei Chen am 28 Jun. 2012
x = {1,[],[],[]};
find(~cellfun(@isempty,x))
  6 Kommentare
Md. Mubarak Hossain
Md. Mubarak Hossain am 16 Mai 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 am 21 Okt. 2020
Md. Mubarak Hossain, You can get it by transposing the cell array a :
a={1 [] [];2 [] 4;5 6 []};
find(~cellfun(@isempty,a'))

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

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

Kategorien

Mehr zu Matrices and Arrays finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by