Иллюстрированный самоучитель по Mathematica



              

Выделения и подстановки в функциях


Функция Slot[n], или, в укороченной форме, #n, представляет n-й аргумент функции. Это иллюстрируют следующие примеры.

Ввод (In)

Вывод (Out)

(5* Slot [1] + Slot [2] *Slot[3] A 2) &[a, b, с]

5a+bc 2

#1 A #2 S[a, b] a b

Объект # эквивалентен #1, a #0 — заголовку абстрактной функции. Таким образом, F[#.#2]&F[a,b] эквивалентно F[a,b].

Функция SlotSequence [n], или, в укороченной форме, ##n, где п = 1, 2, ..., представляет порядок применения формальных аргументов к абстрактной функции. Таким образом, объект ##n определяет последовательность аргументов, начиная с n-го.

Ввод (In)

Вывод (Out)

(Times[5, ##2] +Times[##2, ##3 A 2]) &[а, b, с]

Sbobc 3

Представленные средства обеспечивают работу с функциями на абстрактном уровне.

Интересные возможности связаны с использованием подстановок при определении функций. Система допускает использование подстановок в виде f [x] = value и f[x_] = value.

Поясним это несколькими примерами.

Ввод (In)

Вывод (Out)

f[x] =u

u

f[x] +f[y]

u+f ty]

f [x_] = х^2

x 2

f[x] +f[y]

u+y 2

Clear [f]

f[x]+f[y]

f [x] + f [y]

Как нетрудно заметить из этих примеров, подстановки в функциях могут существенно изменить исходную функциональную зависимость. А потому важной областью их применения является модификация функций.




Содержание  Назад  Вперед