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

1 回表示 (過去 30 日間)
Rengin
Rengin 2014 年 3 月 17 日
コメント済み: Rengin 2014 年 3 月 18 日
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 件のコメント
Patrik Ek
Patrik Ek 2014 年 3 月 17 日
Ok you mean so that you can perform operations like,?
M(allSelectedPoints) = 42;
Rengin
Rengin 2014 年 3 月 17 日
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?

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

採用された回答

Mischa Kim
Mischa Kim 2014 年 3 月 17 日
編集済み: Mischa Kim 2014 年 3 月 17 日
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 件のコメント
Mischa Kim
Mischa Kim 2014 年 3 月 17 日
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),:) = [];
Rengin
Rengin 2014 年 3 月 18 日
Thank you so much Mischa!

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeOther Formats についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by