2015-12-07 165 views
0

如何填充0的矩陣?舉例來說,如果我有以下矩陣:使用0填充矩陣 - Matlab

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 

回答

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 

這可能將是最快的方式,如添加的行和列到原來的陣列將需要更多的操作。

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