MATLAB Answers

LO
0

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

Asked by LO
on 12 Apr 2019
Latest activity Answered by Star Strider
on 12 Apr 2019
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

  0 Comments

Sign in to comment.

1 Answer

Answer by Star Strider
on 12 Apr 2019
 Accepted Answer

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 Comments

Sign in to comment.