如何向矩阵添加边界

时间:2014-05-15 18:10:09

标签: matlab matrix append

我是MATLAB的新手。我想知道如何将矩阵A转移到矩阵B,如下所示?

A = 1 2
    3 4
    5 6

B=0 0 0 0
  1 1 2 1
  1 3 4 1
  1 5 6 1
  0 0 0 0

基本上我想为A添加边界。

谢谢!

2 个答案:

答案 0 :(得分:6)

padarray 实施 -

%// pad ones on left-right and then pad zeros on top-bottom
B = padarray(padarray(A,[0 1],1),[1 0],0)

答案 1 :(得分:3)

如果我正确理解了您的问题,您希望在矩阵周围插入1个元素边界。在这种情况下,尝试这样的事情:

A = [1 2; 3 4; 5 6];
[rows,cols] = size(A);
B = zeros(rows+2, cols+2);
B(2:end-1,[1 end]) = 1;
B(2:end-1,2:end-1) = A;

但是,您也可以像@Divakar建议的那样使用padarray。更优雅!