我在MATLAB中有一个矩阵。我想检查每个元素的4个连接的邻居(左,右,上,下)。如果当前元素等于任何邻居,那么我们将其设置为零,否则它将其设置为1。
1条回答 默认 最新
- qq_314378011 2021-12-16 18:31关注
程序如下,要比较的数据为矩阵A,最后得到比较之后新的A
%假设原始数据 A = [1 2 1;2 2 3;3 2 1]; [r,c] = size(A); %复制比较矩阵; A_l = A(:,1:end-1);%左右比较,左; A_r = A(:,2:end);%左右比较,右; A_u = A(1:end-1,:);%上下比较,上; A_d = A(2:end,:);%上下比较,下; B = [(A_l==A_r),zeros(r,1)]+[zeros(r,1),(A_l==A_r)]+[(A_u==A_d);zeros(1,c)]+[zeros(1,c);(A_u==A_d)]; A = ones(r,c).*(B==0)+0.*A.*(B~=0);
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报