2D Matrix Operation

2 次查看(过去 30 天)
Pankaja Tanjore
Pankaja Tanjore 2015-12-19
Hello,
I have an input array
A = [ 8 4;
3 6;
2 7;
1 4;
2 3;
2 1;
3 1;
3 5;
8 6;
8 1];
I have 2 entries [8 4] and [1 4] .Now i want only [1 4] to be retained as this is minimum of two. Similarly i have three entries [2 1] [3 1] and [8 1].Out of these i want to retain only [2 1] as that is the minimum of these three eternities. Also i have two entries [3 6] and [8 6]. Out of these i want to retain only [3 6] as this is the minimum of the two entries. Final output i want is
Res=
[1 4;
2 1;
2 7;
3 5;
3 6];
Please Let me know how this is done.
Looking forward to hear from you.
Thanks
Pankaja

回答(1 个)

Andrei Bobrov
Andrei Bobrov 2015-12-19
编辑:Andrei Bobrov 2015-12-20
t = accumarray(A(:,2),A(:,1),[],@min);
out = sortrows([t(t>0),unique(A(:,2))]);

类别

Help CenterFile Exchange 中查找有关 Data Types 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by