Clear Filters
Clear Filters

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 Graph and Network Algorithms 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!