Функциональное программирование

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

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

Примечание

Используйте только в Интерфейсе MuPAD Notebook. Эта функциональность не запускается в MATLAB.

Функции пакета fp являются функциями высшего порядка и другими утилитами, полезными для функционального программирования. Некоторые другие функции, полезные для функционального программирования, уже содержатся в библиотеке стандарта MuPAD®, как map, select и zip.

Для более подробного описания концепций как “функция высшего порядка”, “приправляя карри” и “фиксированные точки” см., например, учебник “Исчисляемость, Сложность и Языки” М. Дэвисом, Р. Сигалом и  Э. Дж. Веюкером, Academic Press (1994).

Большинство функций пакета fp берет функции в качестве аргументов и возвращает другие функции. В этом контексте функция может быть функциональной средой, процедурой, функцией ядра или любым другим объектом, который может рассматриваться как функция (т.е. применяться аргументы). Обратите внимание на то, что почти все объекты MuPAD являются функциями в этом смысле.

Рациональный целочисленный 2/3, например, может рассматриваться как постоянная функция, возвращающая значение 2/3:

2/3(x)

Список [sin, cos, 2/3] может рассматриваться как унарная функция, сопоставляющая x с [sin(x), cos(x), 2/3]:

[sin, cos, 2/3](x)

Библиотечные функции называются в форме fp::fixedpt(f). Этим механизмом конфликтов по совпадению имен с другими библиотечными функциями избегают. Если это, как находят, является слишком неловким, методы пакета fp могут быть экспортированы. После вызова use(fp, fixedpt) функциональный fixedpt также непосредственно доступен, т.е. fixedpt(f) может также быть назван. Если переменная с именем, fixedpt уже существует затем use, повышает ошибку. Значение идентификатора fixedpt должно затем быть удалено в порядке, который будет экспортироваться. С use(fp) экспортируются все методы пакета fp.