matlab判断操作

发布时间:2023-06-09T06:07:38 编程技术
  • 类型判断

1、查看变量类型时可用class,判断某变量的类型值:会生成0或1,1—匹配,0—不匹配

  1. isa(Data,'double')
  2. isa(Data,'cell')

2、也可用如下。

  1. strcmp(class(Data),'double')

该函数还可用于查找字符串数组中的特定字符串,并返回其行数:

  1. idx = find(strcmp(Data,'Symbol'));

3、判断是实数矩阵还是复数矩阵:

isreal(data)  ——  0,复数矩阵;1,实数矩阵


  • 判断在数组矩阵中的空值[ ]和没有值NaN

不能用等号来进行判断,如 a == NaN,而是需要专门的函数:

  1. if ( isempty(a) )
  2. if ( isnan(b) )

上述两个函数既支持元素格式输入,也支持数组格式输入


  • 判断成员值

  1. a = [3,5,7,10];
  2. if ( ismember(6,a)
  3. count = count+1
  4. 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