Тестируйте символические объекты на равенство, обрабатывая NaN значения как равные
isequaln( возвращает логический A,B)1 (true), если A и B - одинаковый размер, и их содержимое имеет равное значение. В противном случае, isequaln возвращает логический 0 (false). Все NaN (не число) значения считаются равными друг другу. isequaln рекурсивно сравнивает содержимое символьных структур данных и свойства объектов. Если все содержимое в соответствующих местоположениях одинаково, isequaln возвращает логический 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 функция. Если один из аргументов является символьным, все другие аргументы преобразуются в символические объекты перед сравнением.
isequaln(A,B) проверяет, A и B имеют одинаковый размер, и их содержимое синтаксически совпадает с выражением, обрабатывая NaN значения как равные. Чтобы проверить, является ли математическое сравнение A == B hold для всех значений переменных в A и B, использовать isAlways(A == B).