How to remove a 2d array from a 3d array?

I want to remove all 2d arrays containing all zeros, but the size of the 3d array that I am working with changes each time I remove a 2d array. How do I do this? My sample code that does not quite get the job done is below.
Q = length(LargeArray);
ii = 1;
while ii < Q
if ~all(any(LargeArray(:,:,ii)))
LargeArray(:,:,ii)=[];
end
Q = size(Large,3);
ii = ii + 1;
end

 採用された回答

Matt J
Matt J 2021 年 3 月 28 日

0 投票

LargeArray = LargeArray(:,:, any(LargeArray,[1,2]));

1 件のコメント

N/A
N/A 2021 年 3 月 28 日
Thank you. Elegant. Short and sweet.

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

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeShifting and Sorting Matrices についてさらに検索

製品

リリース

R2020b

タグ

質問済み:

N/A
2021 年 3 月 28 日

コメント済み:

N/A
2021 年 3 月 28 日

Community Treasure Hunt

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

Start Hunting!

Translated by