How to find rows with maximum number

4 vues (au cours des 30 derniers jours)
Maryam Hamrahi
Maryam Hamrahi le 7 Août 2016
Commenté : Star Strider le 7 Août 2016
I have a matrix with n rows and 1 column. I would like to find rows which has the maximum number of rows. Then, replace zero in the other rows.
For instance: I have matrix A and I would like to produce matrix B.
A=
5
2
2
4
3
2
B=
0
2
2
0
0
2

Réponse acceptée

Star Strider
Star Strider le 7 Août 2016
This works:
A = [5
2
2
4
3
2];
[Au,ia,ic] = unique(A, 'stable');
h = accumarray(ic, 1);
B = A;
B(ic~=Au(h==max(h))) = 0
B =
0
2
2
0
0
2
  6 commentaires
Maryam Hamrahi
Maryam Hamrahi le 7 Août 2016
Sorry, it was my mistake. I have to correct it myself. I am thankful for your help.
Star Strider
Star Strider le 7 Août 2016
My pleasure.

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by