How can I insert zeros into every other index of a column vector?

85 views (last 30 days)
I would like to basically double my column vector by adding zeros in between each piece of data, for example,
A=
1000
1000
1000
1000
B=
1000
0
1000
0
1000
0
1000
0
I tried creating a column vector of zeros and then inserting those zeros into every other index without overwriting the data that was already in that index but I can't seem to get it to work. Any Suggestions would be greatly apprieciated.

Accepted Answer

Mischa Kim
Mischa Kim on 24 Jun 2014
Edited: Mischa Kim on 24 Jun 2014
Mark, you could use
A = [1000; 1000; 1000; 1000];
B = reshape([A'; zeros(size(A'))],[],1);
  3 Comments

Sign in to comment.

More Answers (1)

Paul Hoffrichter
Paul Hoffrichter on 23 Apr 2021
Edited: Paul Hoffrichter on 23 Apr 2021
>> and in an horizontal array?
Whether A is vertical or horizontal, use upsample.
A =
1 2 3 4
>> B = upsample(A,2)
B =
1 0 2 0 3 0 4 0
>> A = A'
A =
1
2
3
4
>> B = upsample(A,2)
B =
1
0
2
0
3
0
4
0
>> What if I want to include more than just 1 zero?
B = upsample(A,3)
B =
1
0
0
2
0
0
3
0
0
4
0
0

Categories

Find more on Creating and Concatenating Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!