Append rows at the end of Matrix

1.382 visualizaciones (últimos 30 días)
Trushit
Trushit el 27 de En. de 2014
Editada: user924 el 26 de En. de 2021
Hi,
a = [1 2 3 ; 4 5 6; 7 8 9]; --> 3x3 matrix
I want to insert at the end number of raws with same elements such as [5 5 5] and make the matrix 10 x 3 i.e. I want to insert 7 more raws with [5 5 5]. Please explain.

Respuesta aceptada

Azzi Abdelmalek
Azzi Abdelmalek el 27 de En. de 2014
Editada: Azzi Abdelmalek el 27 de En. de 2014
a = [1 2 3 ; 4 5 6; 7 8 9];
b=[5 5 5]
c=[a;b]% add one row
c=[a;repmat(b,7,1)] %add 7rows
  5 comentarios
jerrell lim
jerrell lim el 20 de En. de 2021
is there a way to create a matlab matrix 5 by 5 in one command without typing each number individually ?
the numbers are [0 0 0 0 0;0 0 0 0 0;0 0 1 2 3; 0 0 4 5 6; 0 0 7 8 9]
user924
user924 el 26 de En. de 2021
Editada: user924 el 26 de En. de 2021
Perhaps try creating a 5x5 matrix of zeros and using a for loop to overwrite the elements that you want to be non-zero.
a =
0 0 0 0 0
0 0 0 0 0
0 0 1 2 3
0 0 4 5 6
0 0 7 8 9
a = zeros(5);
b = [1:9];
width = 3;
[m,n] = size(a);
for row = m:-1:1
for col = n:-1:n-2
if size(b) > 0
a(row, col) = b(end);
b = b(1:end-1);
end
end
end
a

Iniciar sesión para comentar.

Más respuestas (2)

Amit
Amit el 27 de En. de 2014
A = [1 2 3;4 5 6;7 8 9];
A = [A; ones(7,3)*5];
  1 comentario
Trushit
Trushit el 30 de En. de 2014
Thank you. It's short and speedy.

Iniciar sesión para comentar.


Michael Hawks
Michael Hawks el 2 de Mayo de 2019
Another method:
a = [1 2 3 ; 4 5 6; 7 8 9];
b=[5 5 5];
a( end+1, : ) = b;
or
a( :, end+1 ) = b';

Categorías

Más información sobre Creating and Concatenating Matrices en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by