=, _equal(Равные) уравнения
Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.
x = y _equal(x,y)
x = y определяет уравнение.
x = y эквивалентен вызову функции _equal(x, y).
Оператор = возвращает символьное выражение, представляющее уравнение. Получившееся выражение может быть выполнено к TRUE или FALSE функциональным bool. Это также служит условиями управления в if, repeat и операторах while. Во всех этих случаях, тестирующих на равенство, чисто синтаксический тест. Например, bool(0.5 = 1/2) возвращает FALSE несмотря на то, что оба числа совпадают численно. Далее, Булевы выражения могут быть выполнены к TRUE, FALSE или UNKNOWN функциональным is. Тесты с помощью is являются семантическим сравнением x и y, применяющий математические факторы.
Уравнения имеют два операнда: левая сторона и правая сторона. Используйте lhs и rhs, чтобы извлечь эти операнды.
Булево выражение not x = y всегда преобразовывается в x <> y. Выражение not x <> y всегда преобразовывается в x = y.
В следующем примере отметьте различие между синтаксическим и числовым равенством. Числа 1.5 и
совпадают численно. Однако 1.5 имеет доменный тип DOM_FLOAT, тогда как
имеет доменный тип DOM_RAT. Следовательно, они не рассматриваются как равные в следующем синтаксическом тесте:
1.5 = 3/2; bool(%)
![]()
![]()
Для уравнений с числами с плавающей запятой используйте оператор ~= вместо =. bool функций и is тестируют, совпадают ли приближения с плавающей точкой до относительной точности, данной DIGITS:
1.5 ~= 3/2; bool(1.5 ~= 3/2); is(1.5 ~= 3/2);
![]()
![]()
![]()
Следующие выражения совпадают синтаксически:
_equal(1/x, diff(ln(x),x)); bool(%)
![]()
![]()
Булев оператор not преобразовывает равенства и неравенства:
not a = b, not a <> b
![]()
В этом примере используйте оператор =, чтобы сравнить нематематические объекты:
if "text" = "t"."e"."x"."t" then "yes" else "no" end
![]()
Протестируйте равенство этих выражений при помощи синтаксического теста через bool и семантического теста через testeq:
bool(1 = x/(x + y) + y/(x + y)), testeq(1 = x/(x + y) + y/(x + y))
![]()
Уравнения являются типичными входными объектами для системных функций, таких как solve:
solve(x^2 - 2*x = -1, x)
![]()
|
Произвольные объекты MuPAD® |
Выражение типа "_equal".