主要内容

ismember

是set Array成员的数组元素

描述

例子

投资局= ismember (一个B返回一个包含logical的数组1真正的),其中的数据一个B.在其他地方,数组包含逻辑0).

  • 如果一个而且B那么,是桌子还是时间表ismember为每一行返回一个逻辑值。的航班时刻表,ismember考虑行次数来确定相等。输出,投资局,是列向量。

投资局= ismember (一个B, '行')处理每一行一个每一行B作为单个实体,并返回包含logical的列向量1真正的)的位置一个也是一排排的B.在其他地方,数组包含逻辑0).

“行”选项不支持单元格数组,除非其中一金宝app个输入是分类数组或日期时间数组。

例子

投资局Locb= ismember(___也返回一个数组,Locb,使用前面的任何语法。

  • 一般来说,Locb中最低的索引B对于中的每个值一个它是B.的值0显示在哪里一个不是会员吗B

  • 如果“行”选项,那么Locb中最低的索引B对于中的每一行一个这也是一行B.的值0显示在哪里一个不是一排的吗B

  • 如果一个而且B那么,是桌子还是时间表Locb中最低的索引B对于中的每一行一个这也是一行B.的值0显示在哪里一个不是一排的吗B

例子

投资局Locb= ismember(___“遗产”)类的行为ismember函数使用以前语法中的任何输入参数。

“遗产”选项不支持分类数组、日期时间数组金宝app、持续时间数组、表或时间表。

例子

全部折叠

创建两个值相同的向量。

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

创建两个值相同的向量。

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对公差范围内的元素一视同仁,并确定所有在公差范围内的元素xy

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)

创建两个向量

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将字符向量单元格数组中的尾随空格视为不同字符。

创建一个字符向量,一个,以及由字符向量组成的单元格数组,B

A = [“猫”“狗”“狐狸”“猪”];B = {“狗”“猫”“鱼”“马”};

的特征向量一个也在B

[Lia,Locb] = ismember(A,B)
Lia =4x1逻辑阵列1 1 0 0
Locb =4×12 1 0 0

使用“遗产”标记来保存的行为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

输入参数

全部折叠

查询数组,指定为数字数组、逻辑数组、字符数组、字符串数组、分类数组、日期时间数组、持续时间数组、字符向量的单元格数组、表格或时间表。如果您指定“行”选项,一个而且B必须有相同数量的列。

一个必须属于同一类B但有以下例外:

  • 逻辑字符,并且所有数字类都可以与数组。

  • 字符向量的单元格数组可以与字符数组或字符串数组组合。

  • 分类数组可以与字符数组、字符向量的单元格数组或字符串数组组合。

  • Datetime数组可以与日期字符向量的单元格数组或单个日期字符向量组合。

有额外的要求一个而且B根据数据类型:

  • 如果一个而且B都是有序分类数组,它们必须具有相同的类别集,包括它们的顺序。如果既不一个也不B是顺序的,它们不需要具有相同的类别集,并且使用类别名称执行比较。

  • 如果一个是表或时间表,它必须有相同的变量名B(秩序除外)。对于表,行名将被忽略,因此具有相同值但名称不同的两行被认为是相等的。对于时间表,会考虑行时间,因此具有相同值但时间不同的两行不会被认为相等。

  • 如果一个而且B是datetime数组,它们必须在是否指定时区方面彼此一致。

对于文本输入,ismember通常不忽略字符向量、字符向量的单元格数组和字符串数组中的尾随空格。然而,也有一些情况ismember忽略尾随空格:

  • 如果一个字符数组和B是字符向量的单元格数组吗ismember忽略字符数组中的尾随空格。

  • “行”选项,ismember忽略字符向量和字符数组中的尾随空格。

一个Also可以是具有以下类方法的对象:

  • 排序(或sortrows“行”选项)

  • 情商

对象类方法必须彼此一致。这些对象包括派生自相同根类的异构数组。例如,一个可以是图形对象的句柄数组。

设置数组,指定为数字数组、逻辑数组、字符数组、字符串数组、分类数组、日期时间数组、持续时间数组、字符向量的单元格数组、表格或时间表。如果您指定“行”选项,一个而且B必须有相同数量的列。

B必须属于同一类一个但有以下例外:

  • 逻辑字符,并且所有数字类都可以与数组。

  • 字符向量的单元格数组可以与字符数组或字符串数组组合。

  • 分类数组可以与字符数组、字符向量的单元格数组或字符串数组组合。

  • Datetime数组可以与日期字符向量的单元格数组或单个日期字符向量组合。

有额外的要求一个而且B根据数据类型:

  • 如果一个而且B都是有序分类数组,它们必须具有相同的类别集,包括它们的顺序。如果既不一个也不B是顺序的,它们不需要具有相同的类别集,并且使用类别名称执行比较。

  • 如果B是表或时间表,它必须有相同的变量名一个(秩序除外)。对于表,行名将被忽略,因此具有相同值但名称不同的两行被认为是相等的。对于时间表,会考虑行时间,因此具有相同值但时间不同的两行不会被认为相等。

  • 如果一个而且B是datetime数组,它们必须在是否指定时区方面彼此一致。

对于文本输入,ismember通常不忽略字符向量、字符向量的单元格数组和字符串数组中的尾随空格。然而,也有一些情况ismember忽略尾随空格:

  • 如果一个字符数组和B是字符向量的单元格数组吗ismember忽略字符数组中的尾随空格。

  • “行”选项,ismember忽略字符向量和字符数组中的尾随空格。

BAlso可以是具有以下类方法的对象:

  • 排序(或sortrows“行”选项)

  • 情商

对象类方法必须彼此一致。这些对象包括派生自相同根类的异构数组。例如,B可以是图形对象的句柄数组。

输出参数

全部折叠

的逻辑索引一个,返回为向量、矩阵或包含逻辑的N-D数组1真正的)中的值(或行)一个B.在其他地方,它包含了逻辑0).

投资局数组的大小是否与一个,除非指定“行”国旗。

如果“行”标志或if一个是一张表格或时间表,投资局列向量的行数和一个

地点在B,作为向量、矩阵或N-D数组返回。如果“遗产”Flag未指定,Locb中值(或行)的最低索引B都是在一个.的值0显示在哪里一个不是会员吗B

Locb数组的大小是否与一个除非您指定“行”国旗。

如果“行”标志或if一个是一张表格或时间表,Locb列向量的行数和一个

提示

  • 使用ismembertol使用容差在浮点数之间执行比较。

  • 从表格或时间表中查找行一个都是在B对于变量的子集,可以使用列下标。例如,你可以使用ismember ((:,var), B (:,var)),在那里var是正整数、正整数的向量、变量名、变量名的单元格数组或逻辑向量。或者,您可以使用vartype创建选择指定类型变量的下标。

扩展功能

版本历史

R2006a之前介绍