Repeated Values in matrix

2 views (last 30 days)
Dear All;
I have an array of two columns, I want to find each repeated values of y for each x value and then the max of these y value to this x value and make new matrix in which for each x value there is a unique y value
how to do that ?
  1 Comment
Walter Roberson
Walter Roberson on 6 Mar 2014
What do you want done if one of the y values is unique instead of being repeated?

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 6 Mar 2014
[uvals, ua, uc] = unique(xy(:,1));
maxy = accumarray(uc(:), xy(:,2), [], @max);
newarray = [uvals(:), maxy(:)];

More Answers (1)

Azzi Abdelmalek
Azzi Abdelmalek on 6 Mar 2014
v=[1 2;1 3;4 5;4 20;10 30]
[ii,jj,kk]=unique(v(:,1))
out=[ii accumarray(kk,v(:,2),[],@max)]

Categories

Find more on Multidimensional Arrays in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!