counting the number of times a number appears next to the same one in a row?
1 次查看(过去 30 天)
显示 更早的评论
Hi everyone,
I am trying to generate a random sequence and for this I have a row vector, which contains the values 1 to 6 in a random order 4 times (so my vector has 24 elements). I need a way to find how many times the same number appears next to the same number - I have a hard time explaining what I mean but here is an example:
1 2 3 4 5 6 -- no same number appears next to the same number so answer should be 0
1 1 2 3 4 5 -- here 1 is repeated once, so answer should be 1
1 1 2 3 4 4 - here 1 and 4 are repeated and so the answer should be 2
3 个评论
回答(4 个)
madhan ravi
2019-6-22
Simpler:
nnz(~diff(vector))
Note: Taking into account that we only deal with integers.
5 个评论
KALYAN ACHARJYA
2019-6-22
编辑:KALYAN ACHARJYA
2019-6-22
num=[1 2 3 4 5 6]; % Change this one and test
uniq_num=unique(num);
digit_repeat=length(num)-length(uniq_num)
Its works right?
0 个评论
Bruno Luong
2019-6-22
编辑:Bruno Luong
2019-6-22
>> A=[1 1 1 2 3 4 4 2]
A =
1 1 1 2 3 4 4 2
>> sum(diff(A)==0 & diff([NaN, A(1:end-1)])~=0)
ans =
2
>>
0 个评论
Kilian Liss
2019-6-22
Probably not the most ellegant solution, but the following code seems to work:
x1 = [1 1 2 3 4 4];
count = 0;
for i = 1:length(x1) - 1
if(x1(i) == x1(i + 1))
count = count + 1;
end
end
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!