qq_43567899 2021-12-16 10:23 采纳率: 42.9%
浏览 16
已结题

matlab4个邻居之间的比较反馈矩阵

我在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);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月25日
  • 已采纳回答 10月17日
  • 创建了问题 12月16日