0001 function padded = padmatrix(input, wherepad, padval)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013 if (nargin < 3)
0014 padval = 0;
0015 end
0016
0017 if (ndims(input) > 2)
0018 error('PADMATRIX currently does not handle arrays of dimension greater than 2.');
0019 elseif ((numel(wherepad) ~= 4) & (length(wherepad) ~= 4))
0020 error('Second argument must be a four-element vector.');
0021 elseif (numel(padval) > 1)
0022 error('Third argument, when specified, must be a scalar.');
0023 end
0024
0025 [M,N] = size(input);
0026 newN = N + sum(wherepad(1:2));
0027
0028
0029
0030 padleft = repmat(padval, [M, wherepad(1)]);
0031 padright = repmat(padval, [M, wherepad(2)]);
0032 padded = [padleft input padright];
0033
0034
0035 padtop = repmat(padval, [wherepad(3), newN]);
0036 padbottom = repmat(padval, [wherepad(4), newN]);
0037 padded = [padtop; padded; padbottom];
0038