Inserting space between values in vector

3 views (last 30 days)
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
Matt Fig
Matt Fig on 16 Aug 2012
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(:));

Categories

Find more on Time-Frequency Analysis 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!