我有一个矩阵,想要在其周围添加填充,但填充的值必须镜像。
我尝试使用A = padarray(B,[1 1],'symmetry','both');
但它反射(reflect)了矩阵 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 看起来像这样:
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
这样的函数我可以使用或者我必须手动执行?
最佳答案
您可以将对称
与[2 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
关于matlab - 如何在矩阵周围添加镜像填充?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26703383/