上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
5.2 判断类函数
5.2.1 是否为空:isempty
TF = isempty(A)
判断某项内容是否空,所判断的内容可以是字符串型、数值型、单元或结构。如果结果为真,则返回值TF=1,否则TF=0。
例如:
>> a=[];↙ >> b={};↙ >> c=struct([]);↙ >> d='';↙ >> isempty(a)↙
ans = 1
>> isempty(b)↙
ans = 1
>> isempty(c)↙
ans = 1
>> isempty(d)↙
ans = 1
参见例5.1。
5.2.2 是否为列向量:iscolumn
TF=iscolumn(V)
判断某项内容是否为列向量,如果结果为真,则返回值TF=1,否则TF=0。
例如:
>> a=rand(3)↙
a = 0.9058 0.6324 0.5469 0.1270 0.0975 0.9575 0.9134 0.2785 0.9649
>> b=rand(1,3)↙
b = 0.1576 0.9706 0.9572
>> iscolumn(a)↙
ans = 0
>> iscolumn(b)↙
ans = 0
>> iscolumn(rot90(b))↙
ans = 1
5.2.3 是否为浮点数:isfloat
TF=isfloat(A)
判断某项内容是否为浮点数,如果结果为真,则返回值TF=1,否则TF=0。
例如:
>> a=randi(100)↙
a = 43
>> b=uint16(randi(50))↙
b = 46
>> isfloat(a)↙
ans = 1
>> isfloat(b)↙
ans = 0
>> whos↙
Name Size Bytes Class Attributes a 1x1 8 double ans 1x1 1 logical b 1x1 2 uint16
5.2.4 是否为整数:isinteger
TF=isinteger(A)
判断某项内容是否为整数,如果结果为真,则返回值TF=1,否则TF=0。
例如:
>> a=15↙
a = 15
>> b=int8(15)↙
b = 15
>> isinteger(a)↙
ans = 0
>> isinteger(b)↙
ans = 1
>> whos↙
Name Size Bytes Class Attributes a 1x1 8 double ans 1x1 1 logical b 1x1 1 int8
5.2.5 是否为逻辑值:islogical
TF = islogical(A)
判断某项内容是否为逻辑值,如果结果为真,则返回值TF=1,否则TF=0。
例如:
>> a=15;b=10;c='how'=='How'↙
c = 0 1 1
>> islogical(a==b)↙
ans =
1
>> islogical(c)↙
ans = 1
5.2.6 是否为非数值:isnan
TF = isnan(A)
判断某项内容是否不是数,如果结果为真,则返回值TF=1,否则TF=0。
例如:
>> a=5/0↙
a = Inf
>> b=0/0↙
b = NaN
>> isnan(a)↙
ans = 0
>> isnan(b)↙
ans = 1
5.2.7 是否无穷大:isinf
TF = isinf(A)
如果结果无穷大,则返回值TF=1,否则TF=0。
例如:
>> isinf(5/0)↙
ans = 1
>> isinf(5/15)↙
ans = 0
5.2.8 是否为行向量:isrow
TF = isrow(V)
如果V是行向量,返回值TF=1,否则TF=0。
例如:
>> isrow([5 3 9])↙
ans = 1
>> isrow([5; 3; 9])↙
ans = 0
5.2.9 是否为向量:isvector
TF = isvector(A)
如果A为向量,则返回值TF=1,否则TF=0。
例如:
>> a=rand(5);↙ >> isvector(a)↙
ans = 0
>> isvector(a(:,3))↙
ans = 1
>> isvector(a(4,:))↙
ans = 1
5.2.10 是否为数值:isnumeric
tf = isnumeric(A)
如果A为数值型(不论其整数还是浮点数),则返回值tf=1,否则tf=0。
例如:
>> isnumeric(rand(3))↙
ans = 1
>> isnumeric({})↙
ans = 0
>> isnumeric('Matlab')↙
ans = 0
5.2.11 是否相等:isequal
tf = isequal(A, B, ...)
如果A、B、C等相等,则返回值tf=1,否则tf=0。当比较的内容包含非数(NaN)时,即使其他元素完全相同,也不相等。
例如:
>> a.f1=15;a.f2=20;↙ >> b.f1=15;b.f2=20;↙ >> c.f1=15;c.f2=25;↙ >> isequal(a,b)↙
ans = 1
>> isequal(a,b,c)↙
ans = 0
>> d=[5 7 9 NaN 11];↙ >> e=d;↙ >> isequal(d,e)↙
ans = 0
5.2.12 是否为字符:ischar
tf = ischar(A)
如果A为字符,则返回值tf=1,否则tf=0。
例如:
>> ischar(90)↙
ans = 0
>> ischar('Matlab')↙
ans = 1
参见例5.1。
5.2.13 是否为字母:isletter
tf = isletter('str')
判断字符串每个元素是否为字母,结果为真,则对应值为1,否则为0。
例如:
>> isletter('Matlab!')↙
ans = 1 1 1 1 1 1 0
5.2.14 是否为空格:isspace
tf = isspace('str')
判断字符串每个元素是否为空格,结果为真时,对应值为1,否则为0。
例如:
>> isspace('How are you?')↙
ans = 0 0 0 1 0 0 0 1 0 0 0 0
5.2.15 是否为集合元素:ismember
(1)tf = ismember(A, S)
(2)tf = ismember(A, S, 'rows')
(3)[tf, loc] = ismember(A, S, ...)
判断数组A中的每个元素是否为集合S中的元素,返回值为逻辑值,其数组大小与A的大小相同。
例如:
>> ismember(5,1:10)↙
ans = 1
>> a=randi([0 5],3)↙
a = 2 3 3 5 5 0 2 5 0
>> ismember(a,1:10)↙
ans = 1 1 1 1 1 0 1 1 0