I would like to interweave two vectors in MATLAB. In fact, I’d actually just like to add a zero between each element, but I figured I’d ask the question in such a way that I’d learn how to apply this to other situations.
My specific application:
I’d like to take a vector (e.g. [1 2 3]) and output [0 1 0 2 0 3].
The wider question:
How would I do this with two different vectors, e.g. [1 2 3] and [9 8 7] interweaving to produce [9 1 8 2 7 3].
Any help greatly appreciated, in either or both of the above questions.
Here’s some code that will accomplish what you want:
The output is the following:
Following the style of the other two answers, you could get your desired zeros output with the following:
Obviously,
numsshould be replaced with the vector you’d like to use. As mentioned, you should make sure it’s a row vector before callingreshape.