Inserting space between values in vector

Hi,
Say I have a vector x = [1 2 3 4] How can I make it x1 = [1 0 2 0 3 0 4 0]
Thank you!!

 Accepted Answer

Wayne King
Wayne King on 16 Aug 2012
Edited: Wayne King on 16 Aug 2012
Do you have the Signal Processing Toolbox?
x = [1 2 3 4];
x = upsample(x,2);
If not
x = 1:4;
y = zeros(2*length(x),1);
y(1:2:end) = x;
If you have the Wavelet Toolbox
x = 1:4;
y = dyadup(x,0);

1 Comment

I learn something new everyday. I didn't know there was a function to do this! Thanks, Wayne.

Sign in to comment.

More Answers (1)

per isakson
per isakson on 16 Aug 2012
Edited: per isakson on 16 Aug 2012
One more way to do it
x = 1:4;
x1 = cat( 1, x, zeros(size(x)) );
x1 = transpose(x1(:));

Asked:

on 16 Aug 2012

Commented:

on 22 May 2020

Community Treasure Hunt

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

Start Hunting!