Find rows with maximum number and replace them with 1
Show older comments
I have a matrix with n rows and 1 column. I would like to find row which have the maximum number. Then, replace 1 in these rows and replace 0 in other rows.
For instance: I have matrix A and I would like to produce matrix B.
A=
5
0
0
4
3
0
B=
0
1
1
0
0
1
Accepted Answer
More Answers (2)
Walter Roberson
on 8 Aug 2016
B = A == min(A);
4 Comments
Maryam Hamrahi
on 8 Aug 2016
Edited: Maryam Hamrahi
on 8 Aug 2016
Walter Roberson
on 8 Aug 2016
In your first example you want a 1 where each original value was 0, which was the smallest value in the matrix. In the second example, you do not want a 1 where each original value was 0, even though 0 is the smallest value in the matrix. Your examples are inconsistent with each other.
Also your original version talked about maximum but you wanted the 1 where the minimum was, so your examples are not consistent with the description either.
Maryam Hamrahi
on 8 Aug 2016
Edited: Maryam Hamrahi
on 8 Aug 2016
Maryam Hamrahi
on 8 Aug 2016
What you ask and the example you show are not consistent. To produce what you show:
B = A == 0
1 Comment
Maryam Hamrahi
on 8 Aug 2016
Categories
Find more on Logical in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!