Effacer les filtres
Effacer les filtres

finding n maximum elements in a matrix

3 vues (au cours des 30 derniers jours)
jenka
jenka le 6 Fév 2017
Modifié(e) : John Chilleri le 6 Fév 2017
Hi all, I have a symmetrical matrix of size mxm with diagonal elements equal to one. The values range [-1,1]. I would like to find five off the diagonal maximum elements in that matrix and return col and row indices. So far I have the following. It does not really work for values < 0. Any suggestions:
corrMat=rho - eye(size(rho));
A=corrMat;
sortedValues = unique(A(:));
maxValues = sortedValues(end-4:end);
  3 commentaires
the cyclist
the cyclist le 6 Fév 2017
Also, do you want to select both the above- and below-diagonal instance of the maximal elements? Since the matrix is symmetric, there will always be pairs.
John Chilleri
John Chilleri le 6 Fév 2017
Modifié(e) : John Chilleri le 6 Fév 2017
If you want to base "maximum" on magnitude, then perhaps insert an
A = abs(corrMat); % A = corrMat;
but this will fail with the unique function if there is an equivalent negative/positive value.

Connectez-vous pour commenter.

Réponses (0)

Catégories

En savoir plus sur Shifting and Sorting Matrices dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by