* Данный текст распознан в автоматическом режиме, поэтому может содержать ошибки
1072
Программирование в системах компьютерной алгебры
ния побочных эффектов надо использовать образцы и другие специальные спосо бы задания функций, описанные ниже. Параметрами функций могут быть списки, при условии допустимости их комбинации. Например, допустимо задать x списком, а n – переменной или числом:
powerxn[{1,2,3,4,5},z] {1, 2z, 3z, 4z, 5z} powerxn[{1,2,3,4,5},2] {1,4,9,16,25}
После своего задания функции пользователя могут использоваться по тем же правилам, что и встроенные функции.
14.3.4. Чистые и анонимные функции в Mathematica
Иногда может потребоваться задание некоторой функции только в момент ее со здания. Эта функция представляется лишь выражением без имени – отсюда и ее название: чистая функция. Для создания такого объекта служит встроенная функция Function, используемая в виде: • Function[body] – создает чистую функцию с телом body; • Function[{x},body] – создает чистую функцию параметра x с телом body; • Function[{x1,x2,...},body] – создает чистую функцию ряда параметров x1, x2,... с телом body. Для вычисления созданной таким образом функции после нее задается список параметров в квадратных скобках. Например, для взятой в качестве примера фун кции ее можно задать и использовать следующим образом:
Function[{x,n},x^n] Function[{x, n}, xn] %[2,3] 8
Чистую функцию можно легко превратить в обычную функцию пользователя, что показывает следующий пример:
fun=Function[{x,n},x^n] Function[{x, n}, xn] fun[2,3] 8
Предельно компактную форму задания функций имеют так называемые анонимные функции. Они не имеют ни названия, ни обычного определения и зада ются только выражениями специального вида. В этом выражении вместо пере менных используют обозначения # (для одной переменной), #1, #2,... для ряда переменных. Завершается тело функции символом &. Если надо вычислить функ цию, то после ее записи в квадратных скобках указывается список фактических параметров.