replace duplicate value by 0 in matrix or vector

조회 수: 3 (최근 30일)
Mira le
Mira le 2019년 10월 15일
댓글: Mira le 2019년 10월 21일
How do we replace duplicate value by 0 in matrix or vector ?
for example
Input:
b = 1 2 1 3
Output::
b= 1 2 0 3
Thanks

채택된 답변

Andrei Bobrov
Andrei Bobrov 2019년 10월 15일
편집: Andrei Bobrov 2019년 10월 15일
b = [1 2 1 3];
[a,c] = unique(b,'first');
out = zeros(size(b));
out(c) = a;

추가 답변 (2개)

Adam
Adam 2019년 10월 15일
[C,ia] = unique( b );
b( setdiff( 1:numel(b), ia ) ) = 0;

Jos (10584)
Jos (10584) 2019년 10월 15일
% for small vectors:
b = [1 2 1 3 2 1 4 2]
b(sum(triu(b == b')) > 1) = 0

카테고리

Help CenterFile Exchange에서 Get Started with MATLAB에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by