<, >, _less

Неравенства “меньше, чем” и “больше, чем”

Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.

Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.

Синтаксис

x < y
x > y
_less(x, y)

Описание

x < y и x > y задают неравенства.

x < y представляет булев оператор “x, меньше, чем y”. Это эквивалентно вызову функции _less(x,y).

x > y представляет булев оператор “x, больше, чем y”. Это всегда преобразовывается в y < x, который эквивалентен вызову функции _less(y,x).

Эти операторы возвращают символьные Булевы выражения. Если только вещественные числа Type::Real включены, эти выражения могут быть выполнены к TRUE или FALSE функциональным bool. Они также служат условиями управления в if, repeat и операторах while. Для интервалов с плавающей точкой эти операторы интерпретированы как “строго меньше, чем” и “строго больше, чем”. Смотрите Пример 2. Далее, Булевы выражения могут быть выполнены к TRUE, FALSE или UNKNOWN функциональным is. Тесты с помощью is могут также быть применены к постоянным символьным выражениям. Смотрите Пример 4.

bool также обрабатывает неравенства включающие символьные строки. Это сравнивает их относительно лексикографического упорядоченного расположения.

Неравенства имеют два операнда: левая сторона и правая сторона. Используйте lhs и rhs, чтобы извлечь эти операнды.

Примеры

Пример 1

Операторы < и > производят символьные неравенства. Они могут быть оценены к TRUE или FALSE функциональным bool, если только вещественные числа типа Type::Real (целые числа, rationals, и плавания) включены:

1.4 < 3/2;
bool(%)

Пример 2

Сравнение интервалов интерпретировано как “строгое”, то есть, все комбинации чисел в интервалах должны выполнить отношение:

bool(0...1 < 2...3),
bool(0...2 < 1...3),
bool(0...1 < 1...2)

Пример 3

Сравните символьные строки:

if "text" < "t"."e"."x"."t"."book" then "yes" else "no" end

bool("a" > "b")

Пример 4

Обратите внимание на то, что bool не выполняет символьное упрощение и поэтому не может обработать некоторые комбинации символьных выражений. Используйте функциональный is для сравнений, требующих символьного упрощения:

bool(sqrt(6) < sqrt(2)*sqrt(3))
Error: Unable to evaluate to Boolean. [_less]
is(sqrt(6) < sqrt(2)*sqrt(3))

Пример 5

Неравенства являются допустимыми входными объектами для системной функции solve:

solve(x^2 - 2*x < 3, x)

Пример 6

Оператор < может быть перегружен пользовательскими областями:

myDom := newDomain("myDom"):
myDom::print := x -> extop(x):

Не перегружая _less или _leequal, элементы этой области не могут быть сравнены:

x := new(myDom, PI):
y := new(myDom, sqrt(10)):
bool(x < y)
Error: Unable to evaluate to Boolean. [_less]

Теперь, задайте slot"_less". Этот слот называется, когда неравенство типа "_less" оценено bool. Слот сравнивает приближения с плавающей точкой, если аргументы не имеют типа Type::Real:

myDom::_less := proc(x, y)
begin
     x := extop(x, 1):
     y := extop(y, 1):
     if not testtype(x, Type::Real) then
        x := float(x):
        if not testtype(x, Type::Real) then
           error("cannot compare")
        end_if
     end_if:
     if not testtype(y, Type::Real) then
        y := float(y):
        if not testtype(y, Type::Real) then
           error("cannot compare")
        end_if
     end_if:
     bool(x < y)
end_proc:
x, y, bool(x < y), bool(x > y)

bool(new(myDom, I) < new(myDom, PI))
Error: cannot compare [myDom::_less]
delete myDom, x, y:

Параметры

x, y

Произвольные объекты MuPAD®

Возвращаемые значения

Выражение типа "_less".

Перегруженный

x, y

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

Функции MuPAD

Для просмотра документации необходимо авторизоваться на сайте