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!

 採用された回答

Davide Masiello
Davide Masiello 2022 年 9 月 22 日
編集済み: Davide Masiello 2022 年 9 月 22 日

0 投票

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 件のコメント

도연 원
도연 원 2022 年 9 月 24 日
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.

サインインしてコメントする。

その他の回答 (1 件)

Cris LaPierre
Cris LaPierre 2022 年 9 月 22 日

0 投票

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

カテゴリ

製品

リリース

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by