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 件のコメント

Walter Roberson
Walter Roberson 2014 年 3 月 6 日
What do you want done if one of the y values is unique instead of being repeated?

サインインしてコメントする。

 採用された回答

Walter Roberson
Walter Roberson 2014 年 3 月 6 日

0 投票

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

その他の回答 (1 件)

Azzi Abdelmalek
Azzi Abdelmalek 2014 年 3 月 6 日

0 投票

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

カテゴリ

ヘルプ センター および File ExchangeOperators and Elementary Operations についてさらに検索

製品

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by