确定数组相等性 -凯发k8网页登录
确定数组相等性
说明
如果所有输入是等效的,则 tf = isequal(
返回逻辑值 a1,a2,...,an
)1
(true
)。
示例
比较两个数值矩阵
创建两个数值矩阵并比较其相等性。
a = zeros(3,3) 1e-20; b = zeros(3,3); tf = isequal(a,b)
tf = logical
0
函数返回逻辑值 0
(false
),因为这两个矩阵有些许不同,并非完全相等。
比较两个结构体
创建两个结构体,并以不同的顺序指定字段。
a = struct('field1',0.005,'field2',2500); b = struct('field2',2500,'field1',0.005);
比较结构体的相等性。
tf = isequal(a,b)
tf = logical
1
即使每个结构体中的字段顺序不同,isequal
也将这些字段视为相同,因为它们的值相等。
比较数值与特殊非数值
将逻辑值 true
与双精度整数 1
进行比较。
isequal(true,1)
ans = logical
1
请注意,isequal
在测试相等性时不考虑数据类型。
同样地,将 'a'
与等效于 ascii 的整数 65
进行比较。
isequal('a',65)
ans = logical
1
结果为逻辑值 1
(true
),因为 double('a')
等于 65
。
比较包含 nan 值的向量
创建三个包含 nan 值的向量。
a1 = [1 nan nan]; a2 = [1 nan nan]; a3 = [1 nan nan];
比较向量的相等性。
tf = isequal(a1,a2,a3)
tf = logical
0
结果为逻辑值 0
(false
),因为 isequal
将 nan 值视为彼此之间互不相等。
比较两个日期时间值
确定阿拉斯加州安克雷奇市 2013 年 1 月 13 日午夜是否等于开罗在相同日期的上午 11 点。
t1 = datetime(2013,1,13,0,0,0,'timezone','america/anchorage'); t2 = datetime(2013,1,13,11,0,0,'timezone','africa/cairo'); tf = isequal(t1,t2)
tf = logical
1
给该日期加上 8 个月并比较这些日期时间值的相等性。
t1 = datetime(2013,9,13,0,0,0,'timezone','america/anchorage'); t2 = datetime(2013,9,13,11,0,0,'timezone','africa/cairo'); tf = isequal(t1,t2)
tf = logical
0
由于开罗不遵循夏令时,日期时间值不再相等。
比较字符向量与字符串标量
在比较包含相同字符序列的字符向量和字符串标量时,即使大小和数据类型不同,isequal
也会返回逻辑值 1
(true
)。
isequal("foo",'foo')
ans = logical
1
输入参数
a,b
— 要比较的输入(以单独参数指定)
数组
要比较的输入,指定为数组。
在某些情况下,输入的类型不必匹配:
如果数值输入的大小相同且内容等值,则它们是等效的。该检验将单独比较数值数组的实部和虚部。
对于表、时间表、结构体和元胞数组,仅当其所有元素和属性都相等时,它们才是等效的。
包含相同字符序列的字符串标量和字符向量是等效的。
某些数据类型比较具有涉及元数据的特殊注意事项。如果输入全部为:
结构体 - 只要内容相等即可,字段顺序无需相同。
有序分类数组 - 必须具有相同的类别集(包括其顺序)。
非有序分类数组 - 可以有不同的类别集,
isequal
会比较每对元素的类别名称。日期时间数组 -
isequal
在比较时间点时会忽略显示格式。如果数组都与时区关联,则isequal
会比较时刻而不是钟面时间(例如,时刻01-may-2018 09:00:00 edt
与01-may-2018 06:00:00 pdt
相同,因此isequal
返回true
,即使钟面时间 9:00 和 6:00 不同)。对象 -
isequal
为具有相同属性值的同一类对象返回逻辑值1
(true
)。
a1,a2,...,an
— 要比较的输入序列(以单独参数指定)
数组
要比较的输入序列,指定为数组。
在某些情况下,输入的类型不必匹配:
如果数值输入的大小相同且内容等值,则它们是等效的。该检验将单独比较数值数组的实部和虚部。
对于表、时间表、结构体和元胞数组,仅当其所有元素和属性都相等时,它们才是等效的。
包含相同字符序列的字符串标量和字符向量是等效的。
某些数据类型比较具有涉及元数据的特殊注意事项。如果输入全部为:
结构体 - 只要内容相等即可,字段顺序无需相同。
有序分类数组 - 必须具有相同的类别集(包括其顺序)。
非有序分类数组 - 可以有不同的类别集,
isequal
会比较每对元素的类别名称。日期时间数组 -
isequal
在比较时间点时会忽略显示格式。如果数组都与时区关联,则isequal
会比较时刻而不是钟面时间(例如,时刻01-may-2018 09:00:00 edt
与01-may-2018 06:00:00 pdt
相同,因此isequal
返回true
,即使钟面时间 9:00 和 6:00 不同)。对象 -
isequal
为具有相同属性值的同一类对象返回逻辑值1
(true
)。
提示
两个函数句柄的相等性取决于它们的构造方式。有关详细信息,请参阅。
对于两个具有动态属性的对象,即使它们具有相同的属性名称和值,
isequal
也会返回逻辑值0
(false
)。isequal
在测试两个对象是否相等时仅比较存储的(非从属)属性。比较两个句柄对象时,使用
==
可以测试它们是否具有相同的句柄。使用isequal
确定具有不同句柄的两个对象是否具有相同的属性值。比较空对象数组时,仅当数组具有相同的大小和类时,
isequal
才返回逻辑值1
(true
)。
扩展功能
c/c 代码生成
使用 matlab® coder™ 生成 c 代码和 c 代码。
gpu 代码生成
使用 gpu coder™ 为 nvidia® gpu 生成 cuda® 代码。
基于线程的环境
使用 matlab® backgroundpool
在后台运行代码或使用 parallel computing toolbox™ threadpool
加快代码运行速度。
此函数完全支持基于线程的环境。有关详细信息,请参阅run matlab functions in thread-based environment。
gpu 数组
通过使用 parallel computing toolbox™ 在图形处理单元 (gpu) 上运行来加快代码执行。
此函数完全支持 gpu 数组。有关详细信息,请参阅run matlab functions on a gpu (parallel computing toolbox)。
分布式数组
使用 parallel computing toolbox™ 在集群的组合内存中对大型数组进行分区。
此函数完全支持分布式数组。有关详细信息,请参阅run matlab functions with distributed arrays (parallel computing toolbox)。
版本历史记录
在 r2006a 之前推出r2022b: 空对象数组的相等性
在以前的版本中,isequal
认为当两个或多个空对象数组的大小相同时,它们就相等,而不考虑类是否相同。从 r2022b 开始,仅当数组具有相同的大小和类时,isequal
才会为空对象数组返回逻辑值 1
(true
)。
另请参阅
| | |
主题
打开示例
您曾对此示例进行过修改。是否要打开带有您的编辑的示例?
matlab 命令
您点击的链接对应于以下 matlab 命令:
请在 matlab 命令行窗口中直接输入以执行命令。web 浏览器不支持 matlab 命令。
select a web site
choose a web site to get translated content where available and see local events and offers. based on your location, we recommend that you select: .
you can also select a web site from the following list:
how to get best site performance
select the china site (in chinese or english) for best site performance. other mathworks country sites are not optimized for visits from your location.
americas
- (español)
- (english)
- (english)
europe
- (english)
- (english)
- (deutsch)
- (español)
- (english)
- (français)
- (english)
- (italiano)
- (english)
- (english)
- (english)
- (deutsch)
- (english)
- (english)
- switzerland
- (english)
asia pacific
- (english)
- (english)
- (english)
- 中国
- (日本語)
- (한국어)