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

 Réponse acceptée

Shubham Gupta
Shubham Gupta le 3 Oct 2019

0 votes

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 commentaires

Sharif Khalil
Sharif Khalil le 3 Oct 2019
Thank you, it worked!
Shubham Gupta
Shubham Gupta le 3 Oct 2019
I am glad I could help. Please, make sure to accept the answer if it solves your problem. Cheers

Connectez-vous pour commenter.

Plus de réponses (1)

Stephen23
Stephen23 le 3 Oct 2019
Modifié(e) : Stephen23 le 3 Oct 2019

3 votes

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

Catégories

En savoir plus sur MATLAB dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by