How to find unique elements from every row within matrix??

y = [ 90 90 -45 0 0 45 45 0 -45 15 30 -30 75 -45 75 -75
90 90 -45 0 0 -45 -45 0 -45 15 30 -30 75 -45 75 -45
90 90 -45 0 0 45 45 0 -45 15 30 -30 75 -45 75 -30
90 90 -45 0 0 45 45 0 -45 15 30 -30 75 -45 75 0
90 90 -45 0 0 45 45 0 -45 15 30 -30 75 -45 75 15
90 90 -45 0 0 45 45 0 -45 15 30 -30 75 -45 75 30
90 90 45 0 0 45 45 0 45 15 30 -30 75 45 75 45
90 90 -45 0 0 45 45 0 -45 15 30 -30 75 -45 75 75
90 90 -45 0 0 45 45 0 -45 15 30 -30 75 -45 75 90];
unique(y) =9;
Please tell me to count unique value in every row, and if unique elements in row less than 9, that row should be deleted.

 Akzeptierte Antwort

Andrei Bobrov
Andrei Bobrov am 29 Feb. 2016
y0 = sort(y,2);
out = y(sum([ones(size(y,1),1),diff(y0,[],2)~=0],2) >= 9,:);

1 Kommentar

use
out = y(sum([ones(size(y,1),1),diff(y0,[],2)~=0],2) >= ...
numel(unique(y)),:);

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by