Протестируйте символьные объекты на равенство, обработав NaN значения как равные
isequaln( возвращает логический A,B)1 (TRUE), если A и B одного размера и их содержимое имеет равную ценность. В противном случае, isequaln возвращает логический 0 ложь. Весь NaN (не номер), значения считаются равными друг другу. isequaln рекурсивно сравнивает содержимое символьных структур данных и свойства объектов. Если все содержимое в соответствующих местоположениях равно, isequaln возвращает логический 1 TRUE.
isequaln( возвращает логический A1,A2,...,An)1 (TRUE), если все входные параметры равны.
Использование isequaln сравнить эти два выражения:
syms x isequaln(abs(x), x)
ans = logical 0
Для положительного x, эти выражения идентичны:
assume(x > 0) isequaln(abs(x), x)
ans = logical 1
Для дальнейших расчетов удалите предположение на x путем воссоздания его с помощью syms:
syms x
Использование isequaln сравнить эти две матрицы:
A = hilb(3); B = sym(A); isequaln(A, B)
ans = logical 0
NaN ЗначенияИспользование isequaln сравнить эти векторы:
syms x A1 = [x NaN NaN]; A2 = [x NaN NaN]; A3 = [x NaN NaN]; isequaln(A1, A2, A3)
ans = logical 1
Вызов isequaln для аргументов, которые не являются символьными объектами, вызывает MATLAB® isequaln функция. Если один из аргументов является символьным, то все другие аргументы преобразованы в символьные объекты перед сравнением.
isequaln(A,B) проверки, если A и B одного размера и их содержимое является синтаксически тем же выражением, обрабатывая NaN значения как равные. Проверять ли математическое сравнение A == B содержит для всех значений переменных в A и B, используйте isAlways(A == B).