Find empty cells in 3D cell?

2 vues (au cours des 30 derniers jours)
Sharif Khalil
Sharif Khalil le 2 Oct 2019
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
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
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
  1 commentaire
Walter Roberson
Walter Roberson le 3 Oct 2019
This is the better answer.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by