Find empty cells in 3D cell?

2 visualizaciones (últimos 30 días)
Sharif Khalil
Sharif Khalil el 2 de Oct. de 2019
Comentada: Walter Roberson el 3 de Oct. de 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

Respuesta aceptada

Shubham Gupta
Shubham Gupta el 3 de Oct. de 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 comentarios
Sharif Khalil
Sharif Khalil el 3 de Oct. de 2019
Thank you, it worked!
Shubham Gupta
Shubham Gupta el 3 de Oct. de 2019
I am glad I could help. Please, make sure to accept the answer if it solves your problem. Cheers

Iniciar sesión para comentar.

Más respuestas (1)

Stephen23
Stephen23 el 3 de Oct. de 2019
Editada: Stephen23 el 3 de Oct. de 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

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by