我如何填充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
答案 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