matlab判断操作
-
类型判断
1、查看变量类型时可用class,判断某变量的类型值:会生成0或1,1—匹配,0—不匹配
isa(Data,'double') isa(Data,'cell')
2、也可用如下。
strcmp(class(Data),'double')
该函数还可用于查找字符串数组中的特定字符串,并返回其行数:
idx = find(strcmp(Data,'Symbol'));
3、判断是实数矩阵还是复数矩阵:
isreal(data) —— 0,复数矩阵;1,实数矩阵
-
判断在数组矩阵中的空值[ ]和没有值NaN
不能用等号来进行判断,如 a == NaN,而是需要专门的函数:
if ( isempty(a) ) if ( isnan(b) )
上述两个函数既支持元素格式输入,也支持数组格式输入
-
判断成员值
a = [3,5,7,10];
if ( ismember(6,a)
count = count+1;
end
判断矩阵是否相等
数学意义相等
all( A( : ) == B( : ) )
isequal ( A,B )
B=A,未必能保证isequal ( A,B ) 结果为1,因为若A中含有NaN时,按照定义,NaN != NaN
A = [1, NaN]>> B = A>> isequal(A, B)0>> NaN == NaN0
浮点数相等
对于浮点数矩阵,判断两个矩阵是否精确相等意义不大,真正有意义的比较是比较两个矩阵是否足够接近:
all(abs(A(:)-B(:))<col)
max(abs(A(:)-B(:))) < col
浙公网安备 33010602011771号