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 commentaire

Walter Roberson
Walter Roberson le 6 Mar 2014
What do you want done if one of the y values is unique instead of being repeated?

Connectez-vous pour commenter.

 Réponse acceptée

Walter Roberson
Walter Roberson le 6 Mar 2014

0 votes

[uvals, ua, uc] = unique(xy(:,1));
maxy = accumarray(uc(:), xy(:,2), [], @max);
newarray = [uvals(:), maxy(:)];

Plus de réponses (1)

Azzi Abdelmalek
Azzi Abdelmalek le 6 Mar 2014

0 votes

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

Catégories

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by