How to remove Nan layers from 3D array?
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Giacomo Caporusso
le 10 Juil 2023
Commenté : Giacomo Caporusso
le 13 Juil 2023
I have an array of 3 dimensions (rows, columns end layers).
I want to do two things:
1) get the list of layers containing only nan;
3) get the array where the layers containing only nan have been removed.
0 commentaires
Réponse acceptée
colordepth
le 10 Juil 2023
Here's a short demo on this:
% A is your 3D array
A = rand(4,4,4);
A(:,:,2) = nan; % making second layer nan for demonstration
% Check if a layer contains only NaN
layersWithNaN = all(all(isnan(A), 1), 2);
% 1. Get the list of layers containing only NaN
listOfLayersWithNaN = find(layersWithNaN);
% 2. Get the array where the layers containing only NaN have been removed
A(:,:,listOfLayersWithNaN) = [];
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Operators and Elementary Operations 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!