how can I add zeros elements to a matrix?

조회 수: 136 (최근 30일)
moein Pakdel sefidi
moein Pakdel sefidi 2015년 6월 18일
댓글: David Buzzell 2020년 9월 28일
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)

채택된 답변

Salaheddin Hosseinzadeh
Salaheddin Hosseinzadeh 2015년 6월 18일
편집: Salaheddin Hosseinzadeh 2015년 6월 18일
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

추가 답변 (2개)

Andrei Bobrov
Andrei Bobrov 2015년 6월 18일
a= [1 2 3; 1 2 3; 1 2 3]
b = a
b(5,5) = 0

Ugur Aygun
Ugur Aygun 2016년 10월 26일
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.
  댓글 수: 1
David Buzzell
David Buzzell 2020년 9월 28일
This requires the Image Processing Toolbox

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Images에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by