Remove duplicates and original also

10 Ansichten (letzte 30 Tage)
Declan Bourke
Declan Bourke am 5 Aug. 2016
Kommentiert: Stephen23 am 8 Aug. 2016
so i'm having trouble trying to eliminate repetitions from my arrays. i've been using unique but can't have the first instance of the element in the return. for example:
A = 1,2,2,2,3,3,3,4,5; B = unique(A); B = 1,2,3,4,5
what i'm actually looking for is B = 1,4,5 where even the first instance of repeating elements is taken out. is this possible?
Thanks
  2 Kommentare
Declan Bourke
Declan Bourke am 8 Aug. 2016
Hi,
And could i ask quickly, is there any way to do the same with an array of strings? e.g. (AA,AB,AC,AA,AD). I've tried everything I can think of.
Thanks,
Declan

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Stephen23
Stephen23 am 5 Aug. 2016
Bearbeitet: Stephen23 am 8 Aug. 2016
Assuming that the vector A is sorted:
>> A = [1,2,2,2,3,3,3,4,5];
>> B = unique(A);
>> B(histc(A,B)<2)
ans =
1 4 5
If A is not sorted, then this is a bit more complicated:
>> A = [3,3,3,5,1,4,2,2,2,2];
>> [B,X] = unique(A);
>> Y = histc(A,B)<2;
>> A(sort(X(Y))) % in original order
ans =
5 1 4
>> A(X(Y)) % sorted
ans =
1 4 5

Weitere Antworten (2)

Azzi Abdelmalek
Azzi Abdelmalek am 5 Aug. 2016
A = [1,2,2,2,3,3,3,4,5]
b=unique(A,'stable')
c=hist(A,b)
B=b(c==1)
  2 Kommentare
Declan Bourke
Declan Bourke am 5 Aug. 2016
Thanks for the help!
Stephen23
Stephen23 am 5 Aug. 2016
Bearbeitet: Stephen23 am 5 Aug. 2016
This does not work if A is not sorted into order:
>> A = [3,3,3,5,1,4,2,2,2,2];
>> b=unique(A,'stable');
>> c=hist(A,b)
Error using histc
Edge vector must be monotonically non-decreasing.
Error in hist (line 92)
nn = histc(y,edges,1);
Although beginners might think that the 'stable' makes a difference, this then provides a non-monotonic sequence to histc, which is not allowed.

Melden Sie sich an, um zu kommentieren.


Azzi Abdelmalek
Azzi Abdelmalek am 5 Aug. 2016
Bearbeitet: Azzi Abdelmalek am 5 Aug. 2016
[ii,jj,kk]=unique(A)
out=ii(accumarray(kk,1)==1)

Kategorien

Mehr zu Shifting and Sorting Matrices finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by