Effacer les filtres
Effacer les filtres

How to remove Nan layers from 3D array?

4 vues (au cours des 30 derniers jours)
Giacomo Caporusso
Giacomo Caporusso le 10 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.

Réponse acceptée

Deep
Deep 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) = [];
  1 commentaire
Giacomo Caporusso
Giacomo Caporusso le 13 Juil 2023
Thank you so much.
The instructions work perfectly.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Operators and Elementary Operations dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by