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

 

posted on 2022-08-23 17:30  叨叨学习了么  阅读(478)  评论(0)    收藏  举报