MATLAB ismember()函数的用法
在 MATLAB 中,ismember() 函数用于判断一个集合是否为另一个集合的子集。
ismember() 函数的调用格式及说明如下表所示。
【实例 1】判断查询值是否为集合元素。
在 MATLAB 命令行窗口中输入如下命令:
【实例 2】判断查询值是否为集合元素,并确定共有值的索引。
在 MATLAB 命令行窗口中输入如下命令:
ismember() 函数的调用格式及说明如下表所示。
调用格式 | 说明 |
---|---|
Lia = ismember(A,B) | 返回一个和 A 长度相同的向量。如果 A 中某位置的元素能在 B 中找到,返回的向量中相应的位置是 1,其余位置为 0。如果 A 和 B 是表或时间表,则为每一行返回一个逻辑值。对于时间表,在确定相等性时会考虑行时间,输出一个列向量 Lia |
Lia = ismember(A,B,'rows') | 将 A 和 B 中的每一行视为一个实体,返回一个列向量,当 A 中的行也存在于 B 中时,返回相应位置为逻辑值 1(true),其他位置为逻辑值 0(false)。rows 选项不支持元胞数组,除非其中一个输入项为分类数组或日期时间数组 |
[Lia,Locb] = ismember(...) | 使用上述任何语法,返回 A 的逻辑索引 Lia 和在 B 中的位置 Locb |
[Lia,Locb] = ismember(...,'legacy') | 保留 ismember 函数在 R2012b 和早期版本中的行为。legacy 选项不支持分类数组、日期时间数组、持续时间数组、表或时间表 |
【实例 1】判断查询值是否为集合元素。
在 MATLAB 命令行窗口中输入如下命令:
>> clear % 清除工作区的变量 >> A = [1 2 3 4 5]; % 创建两个向量A和B >> B = [1 2 3]; >> Lia = ismember(A,B) % 确定 A中的哪些元素同时也在 B 中 Lia = 1×5 logical 数组 1 1 1 0 0
【实例 2】判断查询值是否为集合元素,并确定共有值的索引。
在 MATLAB 命令行窗口中输入如下命令:
>> clear % 清除工作区的变量 >> A = [1 2 3 4 5]; % 创建两个向量A和B >> B = [1 2 3 4 5 6 7 8 9]; >> [Lia,Locb] = ismember(A,B) % 确定A中的哪些元素同时也在 B 中,以及在 B 中的相应位置 Lia = 1×5 logical 数组 1 1 1 1 1 Locb = 1 2 3 4 5