how to do repeating numbers in array

15 visualizaciones (últimos 30 días)
Murugan C
Murugan C el 19 de Sept. de 2018
Comentada: Murugan C el 20 de Sept. de 2018
Hi
I have an array like [1 0 0 0 2 0 0 0 3 0 0 0 0 0 5 0 0 0 0].
I want output like, [1 1 1 1 2 2 2 2 3 3 3 3 3 3 5 5 5 5 5].
how i can do this?
Thanks in Advance!!!
Murugan

Respuesta aceptada

Stephen23
Stephen23 el 19 de Sept. de 2018
Editada: Stephen23 el 19 de Sept. de 2018
An old fashioned way:
>> V = [1,0,0,0,2,0,0,0,3,0,0,0,0,0,5,0,0,0,0];
>> X = V~=0;
>> U = V(X);
>> U(cumsum(X))
ans =
1 1 1 1 2 2 2 2 3 3 3 3 3 3 5 5 5 5 5

Más respuestas (1)

jonas
jonas el 19 de Sept. de 2018
A is your array
A(A==0)=NaN
A=fillmissing(A,'previous')
  1 comentario
Murugan C
Murugan C el 20 de Sept. de 2018
currently i am using lower version. I think, it should work for higher version. Thanks for your suggestion.

Iniciar sesión para comentar.

Categorías

Más información sobre Logical 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