How to count the time interval at which a particular number occurs in matrix

2 visualizaciones (últimos 30 días)
suppose I have a matrix let it be 1x20 where I have a strange number 999, which occurs in the following sequence a=[1,2,999,999,3,45,5,999,999,999,999,6,5,8,999,5,67,8,999,7] so i want number of time 999 occurs must be equal to 4 but i am getting the result as a number of time 999 occurs = 8 please help me in this matter.
  1 comentario
Ganesh Hegade
Ganesh Hegade el 26 de Jun. de 2017
The example matrix has '999' 8 times. So the answer is correct. Exactly what are you trying to achieve ?

Iniciar sesión para comentar.

Respuestas (2)

Andrei Bobrov
Andrei Bobrov el 26 de Jun. de 2017
Editada: Andrei Bobrov el 26 de Jun. de 2017
out = a(diff([0;a(:)])~=0);
or
x = 999;
t = a ~= x;
out = a(t | [1,t(1:end-1)]);

Jan
Jan el 26 de Jun. de 2017
Perhaps: With FEX: RunLength:
a = [1,2,999,999,3,45,5,999,999,999,999,6,5,8,999,5,67,8,999,7];
[B, N] = RunLength(a);
Result = max(N(B = 999));
Now the length of the longest sequence of 999s is replied.

Categorías

Más información sobre Creating and Concatenating Matrices en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by