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
возвращает аргумент, если вызван точно одним аргументом, и это возвращает zeroelement
0 если это называется без аргументов.
|
Функция |
|
Объект |
misc::genassop
возвращает процедуру f
. Та процедура принимает произвольное число аргументов того же доброго binaryop
делает; это возвращает zeroelement
если это называется без аргумента и его единственного аргумента, если это вызвано одним аргументом; его значение на аргументах n индуктивно задано f(x1, ..., xn)=f(binaryop(x1,x2), x3,...,xn)
.