sysorder

Сравните объекты согласно внутреннему порядку

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

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

Синтаксис

sysorder(object1, object2)

Описание

sysorder(object1, object2) возвращает TRUE, если MuPAD® внутренний порядок object1 меньше чем или равен порядку object2. В противном случае FALSE возвращен.

Примечание

Исключениями являются области.

Не нужно пытаться использовать внутренний порядок отсортировать объекты согласно определенным критериям. Например, не обязательно отражает естественное упорядоченное расположение чисел или строк. Далее, внутренний порядок может отличаться между различными версиями MuPAD.

Единственной функцией, на которую можно положиться, является своя уникальность. Cf. Пример 2.

Примеры

Пример 1

Мы даем некоторые примеры, как sysorder ведет себя в текущей версии MuPAD. Для чисел внутренний порядок равен естественному порядку:

sysorder(3, 4) = bool(3 <= 4),
sysorder(45, 33) = bool(45 <= 33),
sysorder(0, 4) = bool(0 <= 4)

sysorder(1/3, 1/4) = bool(1/3 <= 1/4),
sysorder(-4, 2) = bool(-4 <= 2),
sysorder(-4, -2) =  bool(-4 <= -2)

Пример 2

Мы даем простое приложение sysorder. Предположим, мы хотим реализовать функциональный f, скажем, чей только известное свойство является своей скошенностью f(-x) = -f(x). Выражения, включающие f, должны быть упрощены автоматически, например, f(x) + f(-x) должен привести к нулю для любого аргумента x. Чтобы достигнуть этого, мы используем sysorder, чтобы решить, должен ли вызов f(x) возвратить f(x) или -f(-x):

f := proc(x) begin
       if sysorder(x, -x) then
            return(-procname(-x))
       else return(procname(x))
       end_if;
     end_proc:

Для числовых аргументов f предпочитает переписывать себя с положительными аргументами:

f(-3), f(3), f(-4.5), f(4.5), f(-2/3), f(2/3)

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

f(x), f(-x), f(sqrt(2) + 1), f(-sqrt(2) - 1)

С этой реализацией выражения, включающие f, упрощают автоматически:

f(x) + f(-x) - f(3)*f(x) + f(-3)*f(-x) + sin(f(7)) + sin(f(-7))

delete f:

Параметры

object1, object2

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

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

TRUE или FALSE.

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

Функции MuPAD