ismember - 判断数组元素是否为集数组成员
此 MATLAB 函数 将返回一个在该位置包含逻辑值 1 (true) 的数组。数组中的其他位置将包含
逻辑值 0 (false)。 如果 A 和 B 是表或时间表,ismember 将为每一行返回一个逻辑值。对
于时间表,ismember 在确定相等性时会考虑行时间。输出 Lia 是一个列向量。
Lia = ismember(A,B)
Lia = ismember(A,B,'rows')
[Lia,Locb] = ismember(___)
[Lia,Locb] = ismember(___,'legacy')
输入参数
A - 查询数组
数值数组 | 逻辑数组 | 字符数组 | 字符串数组 | 分类数组 | 日期时间数组 | 持
续时间数组 | 字符向量元胞数组 | 表 | 时间表
B - 集数组
数值数组 | 逻辑数组 | 字符数组 | 字符串数组 | 分类数组 | 日期时间数组 | 持
续时间数组 | 字符向量元胞数组 | 表 | 时间表
输出参数
Lia - A 的逻辑索引
向量 | 矩阵 | N 维数组
Locb - B 中的位置
示例
如果 A 中某位置的数据能在 B 中找到,Lia = ismember(A,B) 将返回一个在该位置包含逻辑值 1 (true) 的数组。数组中的其他位置将包含逻辑值 0 (false)。
如果 A 和 B 是表或时间表,ismember 将为每一行返回一个逻辑值。对于时间表,ismember 在确定相等性时会考虑行时间。输出 Lia 是一个列向量。
Lia = ismember(A,B,'rows') 将 A 和 B 中的每一行视为一个实体,当 A 中的行也存在于 B 中时,将返回包含逻辑值 1 (true) 的列向量。数组中的其他位置将包含逻辑值 0 (false)。
'rows' 选项不支持元胞数组,除非其中一个输入项为分类数组或日期时间数组。
示例
使用上述任何语法,[Lia,Locb] = ismember(___) 还会返回数组 Locb。
一般情况下,对于 A 中属于 B 的成员的每一个值,Locb 会包含该值在 B 中的最小索引。值为 0 表示 A 不是 B 的成员。
如果指定了 'rows' 选项,Locb 将在 B 中为 A 和 B 中共有的每个行包含最小索引。值为 0 表示 A 不是 B 中的行。
如果 A 和 B 是表或时间表,Locb 将在 B 中为 A 和 B 中共有的每个行包含最小索引。值为 0 表示 A 不是 B 中的行。
示例
[Lia,Locb] = ismember(___,'legacy') 保留了 ismember 函数在 R2012b 和早期版本中的行为,它可保证函数在结合前面所述语法中的任何输入参数使用时能够得到与之前版本一致的结果。
'legacy' 选项不支持分类数组、日期时间数组、持续时间数组、表或时间表。
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_60734616/article/details/135031994