как сравнить ячейки или структуры matlab [дубликат]

Возможные Дубликаты:
Octave / MATLAB: как сравнить структуры для равенства?

существует ли простая функция сравнения для объектов MATLAB cell или struct? использование '==', похоже, не работает: (

2 ответов


Если вы хотите знать, если два массива ячеек или объекты структуры точно равны, вы всегда можете использовать isequaln.


использовать isequal для сравнения двух ячеек. Обратите внимание, однако, что == не рекомендуется даже для массивов:

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

     1     1     1     1     1

вам нужно будет использовать еще один трюк, чтобы использовать это выражение в операторе if, например.

причина == не рекомендуется для переменных типа double из-за использования представления IEEE 754 MATLAB. Например:

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

  ans =

       0

чтобы сравнить двойные значения более надежно, вы можете использовать