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

27 Ansichten (letzte 30 Tage)
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.

Akzeptierte Antwort

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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Paul Hoffrichter
Paul Hoffrichter am 23 Apr. 2021
Bearbeitet: Paul Hoffrichter am 23 Apr. 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

Kategorien

Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by