=
, _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
повторение
, и while
операторы. Во всех этих случаях, тестирующих на равенство, чисто синтаксический тест. Например, bool(0.5 = 1/2)
возвращает FALSE
несмотря на то, что оба числа совпадают численно. Далее, Булевы выражения могут быть выполнены к TRUE
ложь
, или 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"
.