Find empty cells in 3D cell?

2 views (last 30 days)
I have a 3D cell RowXColXDep (12X125X1216), I want to find the empty cells (which row, column, and depth). I used:
[Row Col Dep] = find(cellfun(@isempty,channelResp));
but it did not work, it works only for 2D cells. Is there a solution for 3D cells?
Thanks in advance

Accepted Answer

Shubham Gupta
Shubham Gupta on 3 Oct 2019
Try this:
[r,c] = find(cellfun(@isempty,channelResp));
[nR,nC,nD] = size(channelResp);
Dep = floor(c/nC-0.0001)+1;
Col = c - nC*(Dep-1);
Row = r;
Let me know if you have doubts.
  2 Comments
Sharif Khalil
Sharif Khalil on 3 Oct 2019
Thank you, it worked!
Shubham Gupta
Shubham Gupta on 3 Oct 2019
I am glad I could help. Please, make sure to accept the answer if it solves your problem. Cheers

Sign in to comment.

More Answers (1)

Stephen23
Stephen23 on 3 Oct 2019
Edited: Stephen23 on 3 Oct 2019
The simple MATLAB solution is to use ind2sub. First lets create some fake data:
>> A = repmat({NaN},12,125,1216);
>> A(5,23,[2,4,8]) = {[]}; % empty
Then all you need is this:
>> [R,C,P] = ind2sub(size(A),find(cellfun('isempty',A)))
R =
5
5
5
C =
23
23
23
P =
2
4
8

Categories

Find more on Loops and Conditional Statements 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!