dontknowmatlab 2022-03-16 15:11 采纳率: 75%
浏览 180
已结题

matlab如何得到三个数组中的有重复数值的位置

例如:数组一[19,18,17,16,15,14,13,12,11];数组二[1,2,17,16,3,14,5,6,7];数组三[21,2,17,16,23,24,5,12,25];
如何判断三组都有点,并且在这三组中输出位置;然后判断前两组有的点,并输出在前两组中位置。再输出第三组中有前两组重复点所在位置,接着判断第三组中这些左右是否是前两套的,有就输出所有位置。

  • 写回答

3条回答 默认 最新

  • 技术专家团-Joel 2022-03-17 10:42
    关注

    这个规则看着蛮绕的,其实很好实现啊!!

    a1 = [19,18,17,16,15,14,13,12,11];
    a2 = [1,2,17,16,3,14,5,6,7];
    a3 = [21,2,17,16,23,24,5,12,25];
    p123 = intersect(intersect(a1,a2),a3) % 三组都有的点
    % 在这三组中输出位置pos1, pos2, pos3
    pos1 = find(ismember(a1,p123)) 
    pos2 = find(ismember(a2,p123))
    pos3 = find(ismember(a3,p123))
    % 然后判断前两组有的点,并输出在前两组中位置
    p12 = intersect(a1,a2)  % 前两组都有的点
    posistion1 = find(ismember(a1,p12)) 
    posistion2 = find(ismember(a2,p12)) 
    % 再输出第三组中有前两组重复点所在位置
    posistion3 = find(ismember(a3,p12)) 
    % 接着判断第三组中这些左右是否是前两套的,有就输出所有位置
    % 上面这句话没整明白,题主好好描述一下
    
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 3月26日
  • 已采纳回答 3月18日
  • 创建了问题 3月16日

悬赏问题

  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分
  • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题
  • ¥15 linux驱动,linux应用,多线程