counting the number of times a number appears next to the same one in a row?
2 ビュー (過去 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 件のコメント
Bruno Luong
2019 年 6 月 22 日
Why you are saying "Taking into account that we only deal with integers."
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!