How do I get the indexes of a symmetrical logical matrix without getting repetitions of those indexes?

2 vues (au cours des 30 derniers jours)
I have a matrix of logical values that is symmetrical. All are zeros except for a few 1's. I need to get the indexes of the 1's without having two different iterations of the indexes due to the symmetrical nature of the matrix. How would I do this?
  1 commentaire
David Haydock
David Haydock le 26 Oct 2021
0 0 0 0 1 0 0 0
0 0 0 1 0 0 0 0
0 0 0 0 0 0 1 0
0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1
0 0 1 0 0 0 0 0
0 0 0 0 0 1 0 0
Here is the matrix. I need the row and column index of each one. I can do that. But, for example, I will have (1,5) and (5,1). How do I ensure I only have one of them?

Connectez-vous pour commenter.

Réponse acceptée

Matt J
Matt J le 26 Oct 2021
[I,J]=find(yourMatrix);
keep=(J>=I);
I=I(keep);
J=J(keep);

Plus de réponses (0)

Catégories

En savoir plus sur Creating and Concatenating Matrices 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