How do I delete slices in 3D-Array?
Ältere Kommentare anzeigen
Hey there,
I have a multidimensional Array where some of the slices along the third dimension only contains zeros in rows and columns. How do I delete those?
Thanks :)
2 Kommentare
Saravanan Sengottuvel
am 8 Apr. 2021
Generating an example 3D array that has 10 slices
A = repmat([0 0 0 0; 1 0 0 0; 1 0 1 0],[1 1 10]);
Modifying the 4th & 8th slice to contain only zeros in rows and columns
A(:,:,4)=[0 0 0 0;0 0 0 0;0 0 0 0];
A(:,:,8)=[0 0 0 0;0 0 0 0;0 0 0 0];
Find the slice index in 3rd dimension that has only zeros in rows and columns
idx = all(A == 0, [1 2])
Now, delete the slices that has zeros from the original 3D array A
A(:,:,idx) = []
I hope this gives you an idea how to solve your problem.
Kay Schmidt
am 8 Apr. 2021
Bearbeitet: Stephen23
am 8 Apr. 2021
Akzeptierte Antwort
Weitere Antworten (0)
Kategorien
Mehr zu Matrix Indexing finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!