How can we insert a row matrix without altering the rest of the values?

1 view (last 30 days)
Hi!
Say, I have this matrix -
A =
1 2 3
4 5 6
7 8 9
10 11 12
13 14 15
Now I want to add A*10 after each of the rows so that I can make this matrix -
A =
1 2 3
10 20 30
4 5 6
40 50 60
7 8 9
70 80 90
10 11 12
100 110 120
13 14 15
130 140 150
I have hundreds of rows, so I would prefer a loop (or anything!)
Thank you for your help.

Accepted Answer

Dyuman Joshi
Dyuman Joshi on 2 Dec 2022
Edited: Dyuman Joshi on 2 Dec 2022
A = reshape(1:15,3,5)'
A = 5×3
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
%pre-allocation
y=zeros(size(A,1)*2,size(A,2));
y(1:2:end,:)=A;
y(2:2:end,:)=A*10
y = 10×3
1 2 3 10 20 30 4 5 6 40 50 60 7 8 9 70 80 90 10 11 12 100 110 120 13 14 15 130 140 150

More Answers (1)

Fangjun Jiang
Fangjun Jiang on 2 Dec 2022
Edited: Fangjun Jiang on 2 Dec 2022
A=magic(3);
C=transpose(reshape([A,10*A]',size(A,1),[]))
C = 6×3
8 1 6 80 10 60 3 5 7 30 50 70 4 9 2 40 90 20

Categories

Find more on Loops and Conditional Statements 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!