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

27 visualizaciones (últimos 30 días)
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.

Respuesta aceptada

Mischa Kim
Mischa Kim el 24 de Jun. de 2014
Editada: Mischa Kim el 24 de Jun. de 2014
Mark, you could use
A = [1000; 1000; 1000; 1000];
B = reshape([A'; zeros(size(A'))],[],1);
  3 comentarios
Sathyanarayanan Srinivasan
Sathyanarayanan Srinivasan el 11 de Oct. de 2018
What if I want to include more than just 1 zero? How can I use the reshape function in that case?

Iniciar sesión para comentar.

Más respuestas (1)

Paul Hoffrichter
Paul Hoffrichter el 23 de Abr. de 2021
Editada: Paul Hoffrichter el 23 de Abr. de 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

Categorías

Más información sobre Matrix Indexing en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by