Borrar filtros
Borrar filtros

I need to find a pattern in a column

1 visualización (últimos 30 días)
quentin bruxelles
quentin bruxelles el 8 de Nov. de 2021
Comentada: Chris el 9 de Nov. de 2021
Hello,
I need to count the number of repetition of a pattern in my data. The pattern is a serie of 35 zeros. The problem is that I didn`t find how to do it in column cause my data are un one column.
Thank you for your help

Respuesta aceptada

Chris
Chris el 8 de Nov. de 2021
A = readmatrix('test.xlsx');
count = 0;
for idx = 1:numel(A)-34
if sum(A(idx:idx+34)) == 0
count = count+1;
end
end
If there is a series of N>35 zeros, this wll count the pattern multiple times (for example, if there are 36 zeros in a row, that's two patterns of 35).
Also, there are probably more efficient ways to do this.
  2 comentarios
quentin bruxelles
quentin bruxelles el 9 de Nov. de 2021
it is possible to not count the same thing multiple times ?
Chris
Chris el 9 de Nov. de 2021
certainly!
Maybe something like this:
A = readmatrix('test.xlsx');
count = 0;
for idx = 1:numel(A)-34
% The previous condition, but also either:
% (we're at the first index OR the previous index isn't also 0)
if (sum(A(idx:idx+34)) == 0 && (idx==1 || A(idx-1) ~= 0))
count = count+1;
end
end

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Language Fundamentals en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by