MATLAB Answers

Murugan C
0

how to do repeating numbers in array

Murugan C
さんによって質問されました 2018 年 9 月 19 日
最新アクティビティ Murugan C
さんによって コメントされました 2018 年 9 月 20 日
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

  0 件のコメント

サインイン to comment.

2 件の回答

Stephen Cobeldick
Answer by Stephen Cobeldick on 19 Sep 2018
Edited by Stephen Cobeldick on 19 Sep 2018
 Accepted Answer

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

  1 件のコメント

Thanks!!!

サインイン to comment.


jonas
Answer by jonas
on 19 Sep 2018

A is your array
A(A==0)=NaN
A=fillmissing(A,'previous')

  1 件のコメント

currently i am using lower version. I think, it should work for higher version. Thanks for your suggestion.

サインイン to comment.



Translated by