simple formula to remove rows with repeated values in N x 2 matrix

2 ビュー (過去 30 日間)
LO
LO 2019 年 4 月 12 日
回答済み: Star Strider 2019 年 4 月 12 日
I have a set of XY coordinates in a N x 2 matrix
I would like to remove those pairs in which X values are the same
I do not want to use the "unique" function (I tried it but it does not work, perhaps my X values are not exactly the same although they look like they are) and I would not like to use a complicated series of commands...
the code I am using now is
X1=ampl1;
Y1=width1;
A1=[X1;Y1]';
[UniXY,Index]=unique(A1,'rows');
DupIndex=setdiff(1:size(A1,1),Index);
A1(DupIndex,:)=[];
ampl1=A1(:,1)';
widths1=A1(:,2)';
it seems to work for discrete finite values but somehow for my case, it does not work.
I would not mind to round my values but I would like to keep at least 2-3 decimals

採用された回答

Star Strider
Star Strider 2019 年 4 月 12 日
The uniquetol (link) function (introduced in R2015a) allows you to set a tolerance. Also, setdiff does not have a tolerance option, although ismembertol does.
See if those do what you want.

その他の回答 (0 件)

カテゴリ

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

Community Treasure Hunt

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

Start Hunting!

Translated by