counting how many times a certain value is repeated in a fixed interval

3 vues (au cours des 30 derniers jours)
Finda Putri
Finda Putri le 27 Juin 2020
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 commentaires
Tommy
Tommy le 27 Juin 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
Finda Putri
Finda Putri le 27 Juin 2020
Modifié(e) : madhan ravi le 28 Juin 2020
no it does not work as pair.. I just happened to randomly assigned two-times 1's as my criteria for an example.
X = [0,0,1,1,0,1,1,1,1,1,0,0]
% ^1 ^1 ^1 ^this 1 no longer counts as 0 comes after that..

Connectez-vous pour commenter.

Réponses (4)

Matt J
Matt J le 28 Juin 2020
Modifié(e) : Matt J le 28 Juin 2020
If you have the Image Processing Toolbox,
reg=regionprops(X,'Area');
score = sum(structfun(@(a) floor(a/2), reg))

KALYAN ACHARJYA
KALYAN ACHARJYA le 28 Juin 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
madhan ravi le 28 Juin 2020
Modifié(e) : madhan ravi le 28 Juin 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!
  1 commentaire
Finda Putri
Finda Putri le 29 Juin 2020
This works, but yes only when the criteria is two 1's as you said, for 2 repetitions.

Connectez-vous pour commenter.


Finda Putri
Finda Putri le 29 Juin 2020
I found a way to answer this already, but in rather long code. Thank you very much for helping me.

Catégories

En savoir plus sur Multidimensional Arrays dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by