Expanding Array as following;

2 views (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

Categories

Find more on Matrices and Arrays in Help Center and File Exchange

Products


Release

R2022a

Community Treasure Hunt

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

Start Hunting!