matlab 单元格或结构对象有简单的比较函数吗?使用 '==' 似乎不起作用:(
问问题
18177 次
2 回答
8
如果您想知道两个元胞数组或结构对象是否完全相等,您总是可以使用isequaln。
于 2011-02-24T18:12:14.440 回答
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
为了更稳健地比较双精度值,您可以使用abs
MATLAB 中的函数:
>> 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
>>
于 2011-02-25T11:08:37.800 回答