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.

 採用された回答

Andrei Bobrov
Andrei Bobrov 2016 年 2 月 29 日

1 投票

y0 = sort(y,2);
out = y(sum([ones(size(y,1),1),diff(y0,[],2)~=0],2) >= 9,:);

1 件のコメント

Andrei Bobrov
Andrei Bobrov 2016 年 2 月 29 日
use
out = y(sum([ones(size(y,1),1),diff(y0,[],2)~=0],2) >= ...
numel(unique(y)),:);

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

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeMatrix Indexing についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by