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
你说的“镜像”是指“平均”?不,我实际上是指镜像。但我相信平均值也能起到作用。