例如:数组一[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];
如何判断三组都有点,并且在这三组中输出位置;然后判断前两组有的点,并输出在前两组中位置。再输出第三组中有前两组重复点所在位置,接着判断第三组中这些左右是否是前两套的,有就输出所有位置。

matlab如何得到三个数组中的有重复数值的位置
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
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)) % 接着判断第三组中这些左右是否是前两套的,有就输出所有位置 % 上面这句话没整明白,题主好好描述一下
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报