How to check if a 3d matrix has any 2D submatrix with non zero elements?

1 回表示 (過去 30 日間)
pietro
pietro 2014 年 5 月 30 日
コメント済み: pietro 2014 年 5 月 30 日
Hi all,
I have a 3D matrixnd I need to check if it has any sub 2D matrix with non zero elements.
a(:,:,1) =
0 0
0 0
a(:,:,2) =
1 0
0 0
the results should be
[0 1].
Thanks
cheers

採用された回答

Sean de Wolski
Sean de Wolski 2014 年 5 月 30 日
pagesWithNonZeros = squeeze(any(any(x,1),2))
You can pass dim into any to test if there are any nonzero elements in that dimension.

その他の回答 (1 件)

Hugo
Hugo 2014 年 5 月 30 日
You can just do
[any(any(a(:,:,1)>0)),any(any(a(:,:,2)>0))]
or just shorter
nonzero2D=@(a,k)any(any(a(:,:,k)>0))
[nonzero2D(a,1), nonzero2D(a,2)]
Is that what you want?

カテゴリ

Help Center および File ExchangeCreating and Concatenating Matrices についてさらに検索

タグ

タグが未入力です。

Community Treasure Hunt

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

Start Hunting!

Translated by