Could you help me solving the question regarding to coordinates, please?

1 view (last 30 days)
Let's say I have such points:
  • A=(2,4)
  • B=(2,10)
  • C=(2,15)
  • D=(5,14)
  • E=(6,7)
  • F=(6,15)
  • G=(8,16)
  • H=(8,10)and I just want to select unique points which are A,B,C,D,E and G. I want to eliminate F and H because I've already used 6 in E and 15 in C for F; 8 in G and 10 in B.
Thanks for your time!
  2 Comments
Rengin
Rengin on 17 Mar 2014
I just want to select/see the points (A,B,C,D,E and G)eliminating F and H. Is there any way to do that?

Sign in to comment.

Accepted Answer

Mischa Kim
Mischa Kim on 17 Mar 2014
Edited: Mischa Kim on 17 Mar 2014
Rengin, use
data = [2,4;
2,10;
2,15;
5,14;
6,7;
6,15;
8,16;
8,10];
[C,ia,ic] = unique(data(:,2));
data_elim = sortrows(data(ia,:),1)
Addendum: the below snippet shows how to read from and write to an Excel file.
data = xlsread('test.xlsx',1); % read from sheet 1
[C,ia,ic] = unique(data(:,2));
data_elim = sortrows(data(ia,:),1);
xlswrite('test.xlsx',data_elim,2); % write to sheet 2
  4 Comments
Mischa Kim
Mischa Kim on 17 Mar 2014
I see. This one produces the result you're looking for:
data_elim = data;
for ii = 2:length(data(:,1))
if sum(ismember(data(ii,:),data(1:ii-1,:))) == 2
data_elim(ii,:) = [NaN NaN];
end
end
data_elim(all(isnan(data_elim(:,1)),2),:) = [];

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!