函数功能:
测试数组是否相等
使用方法:
tf = isequal(A, B, ...)
如果输入数组是相同的,则tf=isequal(A, B, ...)返回逻辑1(真),否则返回逻辑0(假)。非空数组必须有相同的数据类型和大小。
备注:
当比较结构体是否相等时,结构体中子域的顺序并不重要。只要结构体包含相同的子项,并且相同的子项具有相同的值,isequal函数认为两个结构体相等,参考下面的例2。
matabc
当比较数值时,isequal在确定它们是否相等的时候不考虑数据类型,参考下面的例3。当比较某些非数字的数值也不考虑数据类型,例如逻辑真和1,或者字母A和65他们都相等。
不同的NaNs(不是一个数值),从定义上说他们不相等。所以,包含NaN的数组都不相等,并且当比较这样的两个数组时,isequal的返回值是0,参考下面的例4。如果想把NaN看成相等,可以用isequalwithequalnans函数。
isequal循环比较元胞数组和结构体的内容。如果元胞数组或者结构体的所有元素的值都相等,则isequal返回逻辑1(真)。
例1
给定:
A = B = C =
1 0 1 0 1 0
0 1 0 1 0 0
isequal(A,B,C)返回 0, 并 isequal(A,B) 返回1.
例2
当比较结构体是否相等时,结构体中子域的顺序并不重要 matlab
A.f1 = 25; A.f2 = 50
A =
f1: 25
f2: 50
B.f2 = 50; B.f1 = 25
B =
f2: 50
f1: 25
isequal(A, B)
ans =
1
例3
当比较数值时,isequal在确定它们是否相等的时候不考虑数据类型
A = [25 50]; B = [int8(25) int8(50)];
%I = INT8(X) converts the elements of the array X into signed 8-bit integers. X can be any numeric object, such as a DOUBLE.
isequal(A, B)
ans =
1
例4
不同的NaNs(不是一个数值),从定义上说他们不相等。所以,包含NaN的数组都不相等
A = [32 8 -29 NaN 0 5.7];
B = A;
matlab
isequal(A, B)
ans =
0