是否有matlab单元格或结构对象的简单比较函数? 使用'=='似乎不起作用:(
答案 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
>>