misc
:: genassop
Генерирует не ассоциативный оператор от двоичной единицы
Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.
misc::genassop(binaryop
, zeroelement
)
misc::genassop(binaryop, zeroelement)
генерирует не ассоциативный оператор от бинарного оператора binaryop
, где zeroelement
является нейтральным элементом для binaryop
.
binaryop
должен быть функцией, берущей два аргумента (неважно, какого вида) и возврат допустимого аргумента к себе. Это должно удовлетворить ассоциативный закон binaryop
(binaryop
(a, b), c) = binaryop
(a, binaryop
(b, c)).
zeroelement
является объектом, таким образом, что binaryop
(a, zeroelement) = a
содержит для каждого a
.
misc::genassop
возвращает процедуру, которая возвращает zeroelement
, если это называется без аргументов и аргумента, если это вызвано одним аргументом.
misc::genassop
не проверяет, действительно ассоциативен ли binaryop
и является ли zeroelement
действительно нейтральным элементом для binaryop
.
Мы знаем, что _plus
является оператором не так или иначе, но давайте примем, что _plus
был только бинарным оператором. Мы можем создать собственное сложение не можно следующим образом:
myplus := misc::genassop(_plus, 0)
Теперь мы заставляем myplus
добавить некоторые значения.
myplus(3, 4, 8), myplus(-5), myplus()
Как упомянуто в разделе “Details”, myplus
возвращает аргумент, если вызван точно одним аргументом, и это возвращает 0
zeroelement
, если это называется без аргументов.
|
Функция |
|
Объект |
misc::genassop
возвращает процедуру f
. Та процедура признает, что произвольное число аргументов того же доброго binaryop
делает; это возвращает zeroelement
, если это называется без аргумента и его единственного аргумента, если это вызвано одним аргументом; его значение на аргументах n индуктивно задано f(x1, ..., xn)=f(binaryop(x1,x2), x3,...,xn)
.