如何比较matlab细胞或结构

时间:2011-02-24 18:09:52

标签: matlab struct cells

  

可能重复:
  Octave/MATLAB: How to compare structs for equality?

是否有matlab单元格或结构对象的简单比较函数? 使用'=='似乎不起作用:(

2 个答案:

答案 0 :(得分:8)

如果您想知道两个单元格数组或结构对象是否完全相等,您可以始终使用isequaln

答案 1 :(得分:6)

使用isequal比较两个单元格。但请注意,即使对于数组,也不建议使用==

>> A = [1 2 3 4 5];
>> B = [1 2 3 4 5];
>> A == B
ans =

     1     1     1     1     1

例如,您需要在if语句中使用该表达式。

不建议==类型的变量使用double的原因是因为MATLAB使用了IEEE 754表示法。例如:

  >> .1 + .1 + .1 == .3

  ans =

       0

为了更加健壮地比较双值,可以在MATLAB中使用abs函数:

>> if ( abs( (.1+.1+.1) - .3 ) < 1e-10 ); disp('Values are pretty close although not necessarily bit equal'); end
Values are pretty close although not necessarily bit equal
>>