Expanding Array as following;

1 view (last 30 days)
도연 원
도연 원 on 22 Sep 2022
Commented: 도연 원 on 24 Sep 2022
Hi, I tried hard solution for this, but I think I can't... Would you please help?
I have logical vector here;
A=[1 0 0 1];
I want to expand this array like this, this is like expanding vector A by 3 times.
B=[1 1 1 0 0 0 0 0 0 1 1 1];
I tried function 'upsample', but it doesn't work as I intended like above.
Also made this logical values into 'double' and used interp1 function, also did not work.
Also searched in the Matlab Community, think that there is 100% matching question wharrich what I am seeking of...
Would you please help?
Thanks!

Accepted Answer

Davide Masiello
Davide Masiello on 22 Sep 2022
Edited: Davide Masiello on 22 Sep 2022
Try this
A = [1 0 0 1];
B = repelem(A,3)
B = 1×12
1 1 1 0 0 0 0 0 0 1 1 1
For more info see the documentation for repelem.
  1 Comment
도연 원
도연 원 on 24 Sep 2022
Actually I also need the case of repelem(A,5) or 10.
For the matter that I am having now, repelem makes a little bit easier.
Thanks Davide, and thanks for the Cris' too.

Sign in to comment.

More Answers (1)

Cris LaPierre
Cris LaPierre on 22 Sep 2022
What about this?
A=[1 0 0 1];
B = [A;A;A];
B = B(:)'
B = 1×12
1 1 1 0 0 0 0 0 0 1 1 1

Products


Release

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by