How to find rows with maximum number

4 visualizzazioni (ultimi 30 giorni)
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

Risposta accettata

Star Strider
Star Strider il 7 Ago 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 Commenti
Maryam Hamrahi
Maryam Hamrahi il 7 Ago 2016
Sorry, it was my mistake. I have to correct it myself. I am thankful for your help.

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by