How to find the indices within a matrix where its elements are identical along the third dimension

1 vue (au cours des 30 derniers jours)
Hi all,
I am scratching my head to determine a way where I can find the indices within a multi-dimensional matrix where its elements are identical (i.e. equal) along the third dimension.
In specific I have a multi-dimensional matrix:
M = rand(100,100,3) ;
Lets say somewhere in that matrix, along the third dimension we have some elements that are equal, which we would be able to identify with the following way.
idx = M(:,:,1) == M(:,:,2) & M(:,:,2) == M(:,:,3) ;
Admitedly, the above would give me what I want but when the third dimension becomes much greater than 3 (as it does in my case), it becomes quite cumbersome to code. I would therefore appreciate your help with this.
Regards
KMT.

Réponse acceptée

Matt J
Matt J le 3 Fév 2021
Modifié(e) : Matt J le 3 Fév 2021
idx = all( M==M(:,:,1) , 3);

Plus de réponses (0)

Catégories

En savoir plus sur Matrices and Arrays 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!

Translated by