用0'填充矩阵;s-Matlab
我如何用0填充矩阵?例如,如果我有以下矩阵:用0'填充矩阵;s-Matlab,matlab,Matlab,我如何用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 最简单的方法是使用所需的新大小创建第二个全零变量,然后更改内部值 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
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
最简单的方法是使用所需的新大小创建第二个全零变量,然后更改内部值
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
这可能是最快的方法,因为向原始数组添加行和列需要更多的操作。最简单的方法是创建第二个具有所需新大小的全零变量,然后更改内部值
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
这可能是最快的方法,因为向原始数组中添加行和列需要更多的操作。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
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