Changing duplicates in an array to zero?
이전 댓글 표시
SO I have an array that looks like:
0 0 6 6 3 3
Basically my question is, how do you check for a duplicate value and if there is a duplicate existing, keep the first value, but set the second value to zero.
The result would be:
0 0 6 0 3 0
Thanks in advance, Dom
댓글 수: 2
Joseph Cheng
2014년 3월 25일
Are you just talking about consecutive duplicate values? such as [0 0 6 6 3 3 6 6 3 3] turns to [ 0 0 6 0 3 0 6 0 3 0]
or all duplicate values? such as [ 0 0 6 3 6 3] becomes [0 0 6 3 0 0].
Dominic Green
2014년 3월 25일
채택된 답변
추가 답변 (1개)
Jos (10584)
2014년 3월 25일
x = [1 1 6 6 3 3 2 3 4 6 6 3 3 2 2 2 3 3 3]
y = zeros(size(x))
[~,i] = unique(x,'first')
y(i) = x(i)
카테고리
도움말 센터 및 File Exchange에서 Data Type Identification에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!