counting how many times a certain value is repeated in a fixed interval
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hi,
I need a help for a relatively simple calculation, but I keep failing to solve it.
Say I have the following data, where keeping the order is necessary:
X = [0,0,1,1,0,1,1,1,1,1,0,0]
and I want to know how many times '1' is repeated for 2x, and that two '1's is considered as 1 score. So score for X should be 3.
I have a relatively long data (1x74240) with 0, 1, and -1.
With the logic above, I need to know the score for when the data shows repeated 1 and repeated -1.
Any sort of input is appriciated.
Thanks
2 Kommentare
Tommy
am 27 Jun. 2020
Is the score 3 because of the following three 1s?
X = [0,0,1,1,0,1,1,1,1,1,0,0]
% ^ ^ ^
% 1 +1 +1 = 3
Would this have a score of 4?
X = [0,0,1,1,0,1,1,1,1,1,1,0]
% ^ ^ ^ ^
% 1 +1 +1 +1 = 4
And this a score of 2?
X = [0,0,1,1,0,1,1,1,0,1,0,0]
% ^ ^
% 1 +1 = 2
Antworten (4)
KALYAN ACHARJYA
am 28 Jun. 2020
Multiple Ways: One way
X=[0,0,1,1,0,1,1,1,1,1,0,0];
idx=find(X==1)
for i=1:2:length(idx)-1
data(i)=idx(i+1)-idx(i)
end
score=sum(data)
madhan ravi
am 28 Jun. 2020
Bearbeitet: madhan ravi
am 28 Jun. 2020
According to your comment
No toolboxes/loops needed:
z = (X(1:2:end)==1) + (X(2:2:end)==1) % works for even number of elements only!
score = nnz(z==2) % works only for 2 repetitions!
Siehe auch
Kategorien
Mehr zu Multidimensional Arrays finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!