Javascript must be enabled in your browser to use this page.
Please enable Javascript under your Tools menu in your browser.
Once javascript is enabled Click here to go back to �нтеллектуальная Кобринщина

Work with Pure Functions - Wolfram Mathematica

Работа с чистыми функциями

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

Самым очевидным способом определить чистую функцию является использование команды Function. Первый аргумент представляет собой список аргументов, а второй - функцию. Эта функция суммирует два аргумента:

In[1]:=

WorkWithPureFunctionsRU_1.gif

Out[1]=

WorkWithPureFunctionsRU_2.gif

In[2]:=

WorkWithPureFunctionsRU_3.gif

Out[2]=

WorkWithPureFunctionsRU_4.gif

Вам не обязательно задавать имя функции, чтобы использовать ее:

In[3]:=

WorkWithPureFunctionsRU_5.gif

Out[3]=

WorkWithPureFunctionsRU_6.gif

Обычная сокращенная запись использует знак & для обозначения конца чистой функции, и позиции аргументов, заданные с помощью #1,  #2 и так далее:

In[4]:=

WorkWithPureFunctionsRU_7.gif

Out[4]=

WorkWithPureFunctionsRU_8.gif

In[5]:=

WorkWithPureFunctionsRU_9.gif

Out[5]=

WorkWithPureFunctionsRU_10.gif

Преимущество чистой функции заключается в том, что она не требует отдельного определения или имени:

In[6]:=

WorkWithPureFunctionsRU_11.gif

Out[6]=

WorkWithPureFunctionsRU_12.gif

Если чистая функция содержит только один аргумент, Вы можете использовать # вместо  #1. Эта функция возводит ее аргумент в квадрат:

In[7]:=

WorkWithPureFunctionsRU_13.gif

Out[7]=

WorkWithPureFunctionsRU_14.gif

    

Чистые функции обретают широкие возможности когда используются вместе с Map.

Так список комплексных чисел преобразуется в список упорядоченных пар:

In[8]:=

WorkWithPureFunctionsRU_15.gif

Out[8]=

WorkWithPureFunctionsRU_16.gif

Так упорядоченные пары преобразуются обратно в комплексные числа:

In[9]:=

WorkWithPureFunctionsRU_17.gif

Out[9]=

WorkWithPureFunctionsRU_18.gif

Вы можете использовать /@ в качестве краткого обозначения для Map.  Используйте чистую функцию для создания списка интерактивных кнопок:

In[2]:=

WorkWithPureFunctionsRU_19.gif

Out[2]=

WorkWithPureFunctionsRU_20.gif