填充0' s的矩阵 - Matlab

时间:2015-12-07 22:04:43

标签: matlab

我如何填充0到#0的矩阵?例如,如果我有以下矩阵:

x x x
x x x
x x x

然后我想要

0 0 0 0 0
0 x x x 0
0 x x x 0
0 x x x 0
0 0 0 0 0

2 个答案:

答案 0 :(得分:3)

最简单的方法是使用所需的新大小创建全零的第二个变量,然后更改内部值。

a= [ 1,2,3;
     4,5,6;
     7,8,9];

 b = zeros(length(a)+2);
 b(2:end-1,2:end-1)=a;

打印

b =

 0     0     0     0     0
 0     1     2     3     0
 0     4     5     6     0
 0     7     8     9     0
 0     0     0     0     0

这可能是最快的方法,因为向原始数组添加行和列将需要更多操作。

答案 1 :(得分:2)

TDevlin的答案在一般情况下完美无缺,但如果您碰巧拥有图像处理工具箱,您也可以使用padarray

>> A=magic(3)
A =

   8   1   6
   3   5   7
   4   9   2

>> padarray(A,[1 1])
ans =

   0   0   0   0   0
   0   8   1   6   0
   0   3   5   7   0
   0   4   9   2   0
   0   0   0   0   0