how can I add zeros elements to a matrix?

138 visualizaciones (últimos 30 días)
moein Pakdel sefidi
moein Pakdel sefidi el 18 de Jun. de 2015
Comentada: David Buzzell el 28 de Sept. de 2020
I have a matrix a: a= [1 2 3; 1 2 3; 1 2 3] I want to add zero rows and cols and convert it to b:
b=
1 2 3 0 0
1 2 3 0 0
1 2 3 0 0
0 0 0 0 0
0 0 0 0 0
how is it possible?
(size of 'a' can be different, in fact it's a matrix which shows image m*n)

Respuesta aceptada

Salaheddin Hosseinzadeh
Salaheddin Hosseinzadeh el 18 de Jun. de 2015
Editada: Salaheddin Hosseinzadeh el 18 de Jun. de 2015
Hi Moein,
there are different ways to do this. One of which is to define a fully zero matrix with all zeros
newMatrix = zeros(5,5); % all zero matrix
Then assign the non zero elements.
newMatrix(1:3,1:3) = oldMatrix; % oldMatrix is a, newMatrix is b
This is one way to do it.
Another way would be to concatenate the oldMatrix with zeros.
neMatrix_1 = [oldMatrix,zeros(3,2)]; % horizontal concatenation
newMatrix_2 = [newMatrix_1;zeros(2,5)]; % vertical concatenation
This should give you the same in newMatrix_2

Más respuestas (2)

Andrei Bobrov
Andrei Bobrov el 18 de Jun. de 2015
a= [1 2 3; 1 2 3; 1 2 3]
b = a
b(5,5) = 0

Ugur Aygun
Ugur Aygun el 26 de Oct. de 2016
Hi Moein,
Easiest way to do this is to use padarray command.
a= [1 2 3; 1 2 3; 1 2 3];
padarray(a,[2,2],0,'post')
ans =
1 2 3 0 0
1 2 3 0 0
1 2 3 0 0
0 0 0 0 0
0 0 0 0 0
Here [2,2] indicates how many terms you will add to rows and columns respectively.

Categorías

Más información sobre Images 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