フィルターのクリア

How to remove Nan layers from 3D array?

4 ビュー (過去 30 日間)
Giacomo Caporusso
Giacomo Caporusso 2023 年 7 月 10 日
コメント済み: Giacomo Caporusso 2023 年 7 月 13 日
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.

採用された回答

Deep
Deep 2023 年 7 月 10 日
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 件のコメント
Giacomo Caporusso
Giacomo Caporusso 2023 年 7 月 13 日
Thank you so much.
The instructions work perfectly.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeOperators and Elementary Operations についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by