isequal

Протестируйте равенство символьных входных параметров

Описание

пример

isequal(a,b) возвращает логический 1 TRUE) если A и B одного размера и их содержимое имеет равную ценность. В противном случае, isequal возвращает логический 0 ложьisequal не рассматривает NaN (не номер) равные значения. isequal рекурсивно сравнивает содержимое символьных структур данных и свойства объектов. Если все содержимое в соответствующих местоположениях равно, isequal возвращает логический 1 TRUE).

пример

isequal(a1,a2,...,aN) возвращает логический 1 TRUE) если все входные параметры a1,a2,...,aN равны.

Примеры

Протестируйте числа на равенство

Протестируйте числовые или символьные входные параметры на равенство с помощью isequal. Если вы сравниваете числовые входные параметры с символьными входными параметрами, isequal возвращает 0 ложь) потому что двойной и символьный отличные типы данных.

Протестируйте если 2 и 5 равны. Поскольку вы выдерживаете сравнение, удваивается, MATLAB® isequal функция вызвана. isequal возвращает 0 ложь) как ожидалось.

isequal(2,5)
ans =
  logical
   0

Протестируйте если решение уравнения cos(x) == -1 pi. isequal функция возвращает 1 TRUE) значение решения равно pi.

syms x
sol = solve(cos(x) == -1, x);
isequal(sol,sym(pi))
ans =
  logical
   1

Сравните двойные и символьные представления 1isequal возвращает 0 ложь) потому что двойной и символьный отличные типы данных. Возвратить 1 TRUE) в этом случае используйте logical вместо этого.

usingIsEqual = isequal(pi,sym(pi))
usingLogical = logical(pi == sym(pi))
usingIsEqual =
  logical
   0
usingLogical =
  logical
   1

Протестируйте символьные выражения на равенство

Протестируйте если rewrite правильно перезаписи tan(x) как sin(x)/cos(x). isequal функция возвращает 1 TRUE) значение переписанного результата равняется проверяемому выражению.

syms x
f = rewrite(tan(x),'sincos');
testf = sin(x)/cos(x);
isequal(f,testf)
ans =
  logical
   1

Протестируйте символьные векторы и матрицы для равенства

Тестовые векторы и матрицы для равенства с помощью isequal.

Протестируйте если решения квадратного уравнения, найденного solve равны ожидаемым решениям. isequal функция возвращает 1 TRUE) значение входных параметров равно.

syms a b c x
eqn = a*x^2 + b*x + c;
Sol = solve(eqn, x);
testSol = [-(b+(b^2-4*a*c)^(1/2))/(2*a); -(b-(b^2-4*a*c)^(1/2))/(2*a)];
isequal(Sol,testSol)
ans =
  logical
   1

Гильбертова матрица является специальной матрицей, которая затрудняет, чтобы инвертировать точно. Если инверсия точно вычисляется, то умножение инверсии исходной Гильбертовой матрицей возвращает единичную матрицу.

Используйте это условие символически протестировать если инверсия hilb(20) правильно вычисляется. isequal возвращает 1 TRUE) подразумевать, что продукт инверсии и исходной Гильбертовой матрицы равен единичной матрице.

H = sym(hilb(20));
prod = H*inv(H);
eye20 = sym(eye(20));
isequal(prod,eye20)
ans =
  logical
   1

Сравните входные параметры, содержащие NaN

Сравните три вектора, содержащие NaN (не номер). isequal возвращает логический 0 ложь) потому что isequal не обрабатывает NaN значения как равные друг другу.

syms x
A1 = [x NaN NaN];
A2 = [x NaN NaN];
A3 = [x NaN NaN];
isequal(A1, A2, A3)
ans =
  logical
   0

Входные параметры

свернуть все

Входные параметры, чтобы выдержать сравнение в виде чисел, векторов, матриц, или многомерных массивов или символьных чисел, переменных, векторов, матриц, многомерных массивов, функций или выражений.

Несколько входных параметров, чтобы выдержать сравнение в виде чисел, векторов, матриц, или многомерных массивов или символьных чисел, переменных, векторов, матриц, многомерных массивов, функций или выражений.

Советы

  • Когда ваши входные параметры не являются символьными объектами, isequal MATLAB функция вызвана. Если один из аргументов является символьным, то все другие аргументы преобразованы в символьные объекты перед сравнением и символьным isequal функция вызвана.

Смотрите также

| | | | | |

Представлено до R2006a