yhmsjj
2021-11-23 13:11
采纳率: 60%
浏览 15

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 ̄)づ╭❤~

    评论
    解决 无用
    打赏 举报 编辑记录

相关推荐 更多相似问题