how to do repeating numbers in array

1 visualizzazione (ultimi 30 giorni)
Murugan C
Murugan C il 19 Set 2018
Commentato: Murugan C il 20 Set 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

Risposta accettata

Stephen23
Stephen23 il 19 Set 2018
Modificato: Stephen23 il 19 Set 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

Più risposte (1)

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

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by