Replace Row in a Matrix with an Vector

56 views (last 30 days)
Haocheng Du
Haocheng Du on 18 Sep 2019
Answered: Daniel Neubauer on 2 Nov 2022
I have generated a matrix M with M = magic(5), and I was asked to creat a new matrix M_new, where M_new is M with its last row replaced by a row vector. I was required to use only one line of code, so no equal signs...
Original question:
M_new = %Matrix M, but the last row is replaced by vector Row
% Hint: This can be done in one line of code

Answers (2)

KALYAN ACHARJYA
KALYAN ACHARJYA on 18 Sep 2019
Edited: KALYAN ACHARJYA on 18 Sep 2019
Replace Row in a Matrix with an Vector
matrix(n,:)=vector_data
n is row number, Ensured that vector_data length and row length are same

Daniel Neubauer
Daniel Neubauer on 2 Nov 2022
M=magic(5)
M = 5×5
17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9
r=[0 0 0 0 0]
r = 1×5
0 0 0 0 0
M_new=[M(1:end-1,:);r]
M_new = 5×5
17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 0 0 0 0 0

Categories

Find more on Resizing and Reshaping Matrices 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!