Minimum of unique values

I am trying to find the minimum of vector y=[ 1 2 4 3 9 7] which corresponds to vector x= [100 100 200 200 300 300] so that the result is z=[1 3 7]
what I need is the minimum of each unique x value.

 Accepted Answer

Stephen23
Stephen23 on 9 Mar 2016
Edited: Stephen23 on 9 Mar 2016
You can use unique and accumarray:
>> x = [100 100 200 200 300 300];
>> y = [ 1 2 4 3 9 7];
>> [~,~,ic] = unique(x,'stable');
>> z = accumarray(ic(:),y,[],@min)
z =
1
3
7

More Answers (2)

[~,~,c] = unique(x);
z = accumarray(c(:),y(:),[],@min);
Blotter678
Blotter678 on 9 Mar 2016

0 votes

that worked great, Thanks guys!

Categories

Find more on Get Started with MATLAB 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!