ismember
是set Array成员的数组元素
语法
描述
例子
Set的成员值
创建两个值相同的向量。
A = [5 3 4 2];B = [2 4 4 4 6 8];
确定哪些元素一个
也在B
.
Lia = ismember(A,B)
Lia =1x4逻辑阵列0 0 1 1
(3)
而且(4)
都存在于B
.
在另一个表中找到的表行
创建两个行相同的表。
A = table([1:5]',[“一个”;“B”;“C”;' D ';“E”),逻辑([0,1,0,1,0]))
一个=5×3表Var1 Var2 Var3 ____ ____ _____ 1 A假2 B真3 C假4 D真5 E假
B = table([1:2:10]',[“一个”;“C”;“E”;‘G’;“我”),逻辑(0(5、1)))
B =5×3表Var1 Var2 Var3 ____ ____ _____ 1 A假3 C假5 E假7 G假9 I假
确定哪些行一个
也在B
.
Lia = ismember(A,B)
Lia =5x1逻辑阵列1 0 1 0 1
: (1)
,(3:)
,:一个(5日)
都存在于B
.
Set和Values的索引的成员
创建两个值相同的向量。
A = [5 3 4 2];B = [2 4 4 4 6 8];
确定哪些元素一个
也在B
以及它们对应的位置B
.
[Lia,Locb] = ismember(A,B)
Lia =1x4逻辑阵列0 0 1 1
Locb =1×40 0 2 1
最低指数(3)
是B (2)
,(4)
在B (1)
.
设置存在数值错误的成员
创建一个向量x
.得到第二个向量y
通过改造和不改造x
.的四舍五入差异y
.
X = (1:6)'*pi;Y = 10 ^log10(x);
验证x
而且y
取差就不相等。
x - y
ans =6×110-14年× 0.0444 0 0 0 0 -0.3553
使用ismember
的元素x
都在y
.的ismember
函数执行精确的比较,并确定中的一些矩阵元素x
不是y
.
Lia = ismember(x,y)
lia =6x1逻辑阵列0 1 1 1 10 0
使用ismembertol
使用小公差进行比较。ismembertol
对公差范围内的元素一视同仁,并确定所有在公差范围内的元素x
是y
.
LIA = ismembertol(x,y)
LIA =6x1逻辑阵列1 1 1 1 1 1 1 1
另一个表的行及其位置
创建一个表,一个
五个人的性别、年龄和身高。
A =表([“米”;“米”;“F”;“米”;“F”]、[27;52;31;46;35],[74;68;64;61;64),...“VariableNames”, {“性别”“年龄”“高度”},...“RowNames”, {“泰德”“弗雷德”“贝蒂”“鲍勃”“朱迪”})
一个=5×3表性别年龄身高______ ___ ______ Ted M 27 74 Fred M 52 68 Betty F 31 64 Bob M 46 61 Judy F 35 64
创建另一个表,B
的共同点一个
.
B = table([“米”;“F”;“F”;“F”]、[47;31;35;23],[58]68;64;62;...“VariableNames”, {“性别”“年龄”“高度”},...“RowNames”, {“乔”梅格的“贝丝”“艾米”})
B =4×3表性别年龄身高______ ___ ______乔M 47 68梅格F 31 64贝丝F 35 62艾米F 23 58
确定哪些行一个
也在B
,以及它们在B
.
[Lia,Locb] = ismember(A,B)
Lia =5x1逻辑阵列0 0 1 0 0
Locb =5×10 0 2 0 0
具有相同值但名称不同的两行被认为是相等的。同样的数据贝蒂
在: B (2)
,对应于梅格
.
属于一个集合的行
创建两个共用一行的矩阵。
A = [1 3 5 6;2 4 6 8];B = [2 4 6 8;1 3 5 7;2 4 6 8];
确定哪些行一个
也在B
以及它们对应的位置B
.
[Lia, Locb] = ismember(A,B,“行”)
Lia =2x1逻辑阵列0 1
Locb =2×10 1
最低指数:一个(2)
是: B (1)
.
包含NaN值的集合的成员
创建两个向量南
.
A = [5 NaN NaN];B = [5 NaN NaN];
确定哪些元素一个
也在B
,以及它们在B
.
[Lia,Locb] = ismember(A,B)
Lia =1x3逻辑阵列1 0 0
Locb =1×31 0 0
ismember
对待南
值为不同的。
带有尾随空白的字符向量的单元格数组
创建一个字符向量的单元格数组,一个
.
A = {“狗”,“猫”,“鱼”,“马”};
创建一个字符向量的单元格数组,B
,其中一些向量有尾随空白。
B = {“狗”,“猫”,“鱼”,“马”};
的特征向量一个
也在B
.
[Lia,Locb] = ismember(A,B)
Lia =1x4逻辑阵列0 1 1
Locb =1×40 2 0 4
ismember
将字符向量单元格数组中的尾随空格视为不同字符。
字符向量的Char和Cell数组的成员
创建一个字符向量,一个
,以及由字符向量组成的单元格数组,B
.
A = [“猫”;“狗”;“狐狸”;“猪”];B = {“狗”,“猫”,“鱼”,“马”};
的特征向量一个
也在B
.
[Lia,Locb] = ismember(A,B)
Lia =4x1逻辑阵列1 1 0 0
Locb =4×12 1 0 0
保留ismember的遗留行为
使用“遗产”
标记来保存的行为ismember
来自R2012b和之前版本的代码。
找到的成员B
现在的行为。
A = [5 3 4 2];B = [2 4 4 4 6 8];[Lia1,Locb1] = ismember(A,B)
Lia1 =1x4逻辑阵列0 0 1 1
Locb1 =1×40 0 2 1
找到的成员B
,并保留遗留行为。
[Lia2,Locb2] = ismember(A,B,“遗产”)
Lia2 =1x4逻辑阵列0 0 1 1
Locb2 =1×40 0 4 1
输入参数
一个
- - - - - -查询数组
数字数组|逻辑阵列|字符数组|字符串数组|分类数组|datetime数组|持续时间数组|字符向量的单元格数组|表|时间表
查询数组,指定为数字数组、逻辑数组、字符数组、字符串数组、分类数组、日期时间数组、持续时间数组、字符向量的单元格数组、表格或时间表。如果您指定“行”
选项,一个
而且B
必须有相同数量的列。
一个
必须属于同一类B
但有以下例外:
逻辑
,字符
,并且所有数字类都可以与双
数组。字符向量的单元格数组可以与字符数组或字符串数组组合。
分类数组可以与字符数组、字符向量的单元格数组或字符串数组组合。
Datetime数组可以与日期字符向量的单元格数组或单个日期字符向量组合。
有额外的要求一个
而且B
根据数据类型:
如果
一个
而且B
都是有序分类数组,它们必须具有相同的类别集,包括它们的顺序。如果既不一个
也不B
是顺序的,它们不需要具有相同的类别集,并且使用类别名称执行比较。如果
一个
是表或时间表,它必须有相同的变量名B
(秩序除外)。对于表,行名将被忽略,因此具有相同值但名称不同的两行被认为是相等的。对于时间表,会考虑行时间,因此具有相同值但时间不同的两行不会被认为相等。如果
一个
而且B
是datetime数组,它们必须在是否指定时区方面彼此一致。
对于文本输入,ismember
通常不忽略字符向量、字符向量的单元格数组和字符串数组中的尾随空格。然而,也有一些情况ismember
忽略尾随空格:
如果
一个
字符数组和B
是字符向量的单元格数组吗ismember
忽略字符数组中的尾随空格。当
“行”
选项,ismember
忽略字符向量和字符数组中的尾随空格。
一个
Also可以是具有以下类方法的对象:
排序
(或sortrows
为“行”
选项)情商
不
对象类方法必须彼此一致。这些对象包括派生自相同根类的异构数组。例如,一个
可以是图形对象的句柄数组。
B
- - - - - -设置数组
数字数组|逻辑阵列|字符数组|字符串数组|分类数组|datetime数组|持续时间数组|字符向量的单元格数组|表|时间表
设置数组,指定为数字数组、逻辑数组、字符数组、字符串数组、分类数组、日期时间数组、持续时间数组、字符向量的单元格数组、表格或时间表。如果您指定“行”
选项,一个
而且B
必须有相同数量的列。
B
必须属于同一类一个
但有以下例外:
逻辑
,字符
,并且所有数字类都可以与双
数组。字符向量的单元格数组可以与字符数组或字符串数组组合。
分类数组可以与字符数组、字符向量的单元格数组或字符串数组组合。
Datetime数组可以与日期字符向量的单元格数组或单个日期字符向量组合。
有额外的要求一个
而且B
根据数据类型:
如果
一个
而且B
都是有序分类数组,它们必须具有相同的类别集,包括它们的顺序。如果既不一个
也不B
是顺序的,它们不需要具有相同的类别集,并且使用类别名称执行比较。如果
B
是表或时间表,它必须有相同的变量名一个
(秩序除外)。对于表,行名将被忽略,因此具有相同值但名称不同的两行被认为是相等的。对于时间表,会考虑行时间,因此具有相同值但时间不同的两行不会被认为相等。如果
一个
而且B
是datetime数组,它们必须在是否指定时区方面彼此一致。
对于文本输入,ismember
通常不忽略字符向量、字符向量的单元格数组和字符串数组中的尾随空格。然而,也有一些情况ismember
忽略尾随空格:
如果
一个
字符数组和B
是字符向量的单元格数组吗ismember
忽略字符数组中的尾随空格。当
“行”
选项,ismember
忽略字符向量和字符数组中的尾随空格。
B
Also可以是具有以下类方法的对象:
排序
(或sortrows
为“行”
选项)情商
不
对象类方法必须彼此一致。这些对象包括派生自相同根类的异构数组。例如,B
可以是图形对象的句柄数组。
输出参数
投资局
-逻辑索引一个
向量|矩阵| N-D数组
的逻辑索引一个
,返回为向量、矩阵或包含逻辑的N-D数组1
(真正的
)中的值(或行)一个
是B
.在其他地方,它包含了逻辑0
(假
).
投资局
数组的大小是否与一个
,除非指定“行”
国旗。
如果“行”
标志或if一个
是一张表格或时间表,投资局
列向量的行数和一个
.
Locb
-位于B
向量|矩阵| N-D数组
地点在B
,作为向量、矩阵或N-D数组返回。如果“遗产”
Flag未指定,Locb
中值(或行)的最低索引B
都是在一个
.的值0
显示在哪里一个
不是会员吗B
.
Locb
数组的大小是否与一个
除非您指定“行”
国旗。
如果“行”
标志或if一个
是一张表格或时间表,Locb
列向量的行数和一个
.
提示
使用
ismembertol
使用容差在浮点数之间执行比较。从表格或时间表中查找行
一个
都是在B
对于变量的子集,可以使用列下标。例如,你可以使用ismember ((:,
,在那里var
), B (:,var
))var
是正整数、正整数的向量、变量名、变量名的单元格数组或逻辑向量。或者,您可以使用vartype
创建选择指定类型变量的下标。
扩展功能
高大的数组
使用行数超过内存容量的数组进行计算。
C/ c++代码生成
使用MATLAB®Coder™生成C和c++代码。
使用注意事项和限制:
代码生成不支持第一个或第二个参数的单元格数组。金宝app
复杂输入必须是
单
或双
.看到虚部为零的复杂数据的代码生成(MATLAB编码器).
线程环境
使用MATLAB®在后台运行代码backgroundPool
或使用并行计算工具箱™加速代码ThreadPool
.
这个函数完全支持基于线程的环境。金宝app有关更多信息,请参见在线程环境中运行MATLAB函数.
GPU数组
通过使用并行计算工具箱™在图形处理单元(GPU)上运行来加速代码。
分布式阵列
使用并行计算工具箱™跨集群的组合内存对大型数组进行分区。
版本历史
R2006a之前介绍
第一MATLAB
海脂循环匹配函数对应求解MATLAB:
Esegui il commanmando inserendolo nella finestra di commanmando MATLAB。我的浏览器web不支持和MATLAB金宝app。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。