yhmsjj 2021-11-23 13:11 采纳率: 75%
浏览 50
已结题

matlab两个数组元素提取交集

有两个数组A和B,其中A数组是二行1000列的数组,B数组是一行500列的数组。B的第一行在A的第一行中都有对应元素,也就是B的第一行是A的第一行的子集。现在想把A数组的第一行中和B数组重合的部分以及对应位置的第二行的元素提取出来,生成一个新的数组C,也就是C数组第一行是B数组,第二行是A数组对应位置,请问如何实现。

  • 写回答

1条回答 默认 最新

  • 技术专家团-Joel 2021-11-23 13:30
    关注

    你好,用ismember函数就能实现你的想法

    A = [1,2,3,4,5,6,7,8,9,10; 1,1,2,2,3,3,4,4,5,5]; % 我这里只是示例,你的A自己换着来
    B= [2,3,4,5]; % 只是示例,根据需要更换成你的B数组
    q = ismember(A(1,:), B);
    C = A(:,q)
    

    这里的C就是你需要的

    C =
    
         2     3     4     5
         1     2     2     3
    

    如有帮助,还烦劳题主给个宝贵的采纳支持一下答主答题哟,谢谢啦(づ ̄3 ̄)づ╭❤~

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 12月2日
  • 已采纳回答 11月24日
  • 创建了问题 11月23日