Протестируйте символьные объекты на равенство, обработав значения NaN как равные
isequaln(A,B)isequaln(A1,A2,...,An)isequaln( возвращает логический A,B)1, (TRUE), если A и B одного размера, и их содержимое имеет равную ценность. В противном случае isequaln возвращает логический (FALSE) 0. Весь NaN (не номер) значения считается равным друг другу. isequaln рекурсивно сравнивает содержимое символьных структур данных и свойства объектов. Если все содержимое в соответствующих местоположениях равно, isequaln возвращает логический (TRUE) 1.
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. Если один из аргументов является символьным, то все другие аргументы преобразованы в символьные объекты перед сравнением.