how to do repeating numbers in array

2 vues (au cours des 30 derniers jours)
Murugan C
Murugan C le 19 Sep 2018
Commenté : Murugan C le 20 Sep 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

Réponse acceptée

Stephen23
Stephen23 le 19 Sep 2018
Modifié(e) : Stephen23 le 19 Sep 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

Plus de réponses (1)

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

Connectez-vous pour commenter.

Catégories

En savoir plus sur Get Started with MATLAB 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