sysorder
Сравните объекты согласно внутреннему порядку
Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразуют Notebook MuPAD в Live скрипты MATLAB.
sysorder(object1
, object2
)
sysorder(object1, object2)
возвращает TRUE
если MuPAD® внутренний порядок object1
меньше чем или равно порядку object2
. В противном случае, FALSE
возвращен.
Исключениями являются области.
Не нужно пытаться использовать внутренний порядок отсортировать объекты согласно определенным критериям. Например, не обязательно отражает естественное упорядоченное расположение чисел или строк. Далее, внутренний порядок может отличаться между различными версиями MuPAD.
Единственной функцией, на которую можно положиться, является своя уникальность. См. Пример 2.
Мы даем некоторые примеры как 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)
Мы даем простое приложение 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:
|
Произвольные объекты MuPAD |