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).