Matlab 如何在矩阵周围添加镜像填充?

Matlab 如何在矩阵周围添加镜像填充?,matlab,matrix,padding,mirror,Matlab,Matrix,Padding,Mirror,我有一个矩阵,希望在其周围添加填充,但填充的值必须镜像 我试过使用A=padarray(B,[11],“对称”和“两者”) 但它反映了矩阵B的边值 意思是如果 B = [1 2 3; 4 5 6; 7 8 9]; 结果将是 A = [1 1 2 3 3; 1 1 2 3 3; 4 4 5 6 6; 7 7 8 9 9; 7 7 8 9 9] 但我需要一个像这样的: A = [5 4 5

我有一个矩阵,希望在其周围添加填充,但填充的值必须镜像

我试过使用
A=padarray(B,[11],“对称”和“两者”)

但它反映了矩阵B的边值

意思是如果

  B = [1 2 3; 
       4 5 6; 
       7 8 9]; 
结果将是

  A = [1 1 2 3 3; 
       1 1 2 3 3; 
       4 4 5 6 6; 
       7 7 8 9 9; 
       7 7 8 9 9]
但我需要一个像这样的:

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

是否有类似于
padarray
的功能我可以使用,还是必须手动执行?

您可以使用
symmetric
[2]
并移除额外的部分

B = [1 2 3; 4 5 6; 7 8 9];
c = padarray(B,[2 2],'both','symmetric');
c(end-1,:) = [];
c(:,end-1) = [];
c(:,2) = [];
c(2,:) = [];

c =

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

你说的“镜像”是指“平均”?不,我实际上是指镜像。但我相信平均值也能起到作用。