matrix padding with zero

2 views (last 30 days)
Anvinder
Anvinder on 30 Mar 2016
Commented: Anvinder on 1 Apr 2016
I have a 3x3 matrix and a 2x3 matrix. I need to pad zeros in the 2x3 matrix only at the bottom row such that it becomes 3x3.
If i have another matrix let's say 5x4 and second one 5x2, i need to pad the last 2 columns of the 5x2 matrix such that it has same rows and columns as 5x4.
a = [1,2,3; 3,2,1; 1,2,3];
b = [1,2,3; 3,2,1];
d = padarray(b,[1,0],0)
This code is padding a row above and a row below the matrix but i just want it below the 2x3 matrix.
  4 Comments
Anvinder
Anvinder on 1 Apr 2016
Hi, Apologize for the delayed response.
Here is the picture of the matrices i want to be padded in the given manner.
Image Analyst
Image Analyst on 1 Apr 2016
Yep, my answer below will do it. Simply assign the lower right element to zero, even if that element does not exist yet, and it will pad everything up to there with zeros.

Sign in to comment.

Accepted Answer

Image Analyst
Image Analyst on 30 Mar 2016
Try this trick:
matrix2x2(3,3) = 0; % Add a row of zeros.
Then to turn the 5x2 into a 5x4:
b = rand(5,2)
array5x4 = padarray(b,[0,2],0, 'post')
  1 Comment
Anvinder
Anvinder on 1 Apr 2016
If i write : a = [1,2,3; 3,2,1; 1,2,3]; b = [1,2,3; 3,2,1]; c = padarray(b,[0,2],0, 'post') then the input, output and padding it does is as per the shown figure attached but this is different from expected.

Sign in to comment.

More Answers (0)

Categories

Find more on Creating and Concatenating 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!