本文主要是介绍MATLAB知识点: intersect、union、setdiff和setxor函数 交集、并集、差集和对称差集,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
讲解视频:可以在bilibili搜索《MATLAB教程新手入门篇——数学建模清风主讲》。
MATLAB教程新手入门篇(数学建模清风主讲,适合零基础同学观看)_哔哩哔哩_bilibili
节选自第3章 3.4.5 集合运算
intersect、union、setdiff和setxor函数
这四个函数分别用于计算两个数组之间的交集、并集、差集和对称差集,下面给出了这四个函数对应的维恩图(Venn diagram)。
因为这四个函数的用法类似,所以下面以intersect函数为例,我们介绍它的用法。
C = intersect(A,B)会返回数组A和B的共同数据,但是不包含重复项,返回的C默认会排序。我们还可以增加一个输入参数'stable',这样会按照在A中出现的顺序返回C中的值。
如果A和B的列数相同,那么我们可以加一个输入参数'rows',这时候intersect (A, B, 'rows')会将A和B的每一行视为一个整体,然后返回A和B共同的行。注意,MATLAB默认会对共同的行进行排序,排序规则如下:优先按照第一列元素升序排列,第一列元素相同时,会按第二列元素的升序排列,依此类推。当然,如果你希望按照与A中相同的顺序返回唯一值,则可以在输入的最后加一个参数'stable'。
另外,intersect函数可以有最多三个返回值,下面截图来自MATLAB官网:
通常情况下我们不会用到三个返回值,感兴趣的同学可以在MATLAB中进行测试。
剩余三个函数的用法我们举几个简单的例子,更多例子大家可以自己查看帮助文档学习。
这篇关于MATLAB知识点: intersect、union、setdiff和setxor函数 交集、并集、差集和对称差集的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!