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 �нтеллектуальная Кобринщина

Use Shorthand Notations - Wolfram Mathematica

Использование кратких форм записи

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

Mathematica предоставляет несколько удобных методов для ввода функций.

Например, используем функцию Length вместе с квадратными скобками по обеим сторонам списка, чтобы узнать длину (количество элементов) списка:

In[1]:=

UseShorthandNotationsRU_1.gif

Out[1]=

UseShorthandNotationsRU_2.gif

Использование символа @ дает такой же самый результат. С использованием @ Вам не нужно открывать квадратную скобку перед списком и закрывать ее в конце списка:

In[2]:=

UseShorthandNotationsRU_3.gif

Out[2]=

UseShorthandNotationsRU_4.gif

Вы можете воспользоваться символом // для постфиксной (инверсной) записи:

In[3]:=

UseShorthandNotationsRU_5.gif

Out[3]=

UseShorthandNotationsRU_6.gif

Эти формы записи распространяются на любую функцию и любого рода аргументы:

In[4]:=

UseShorthandNotationsRU_7.gif

Out[4]=

UseShorthandNotationsRU_8.gif

In[5]:=

UseShorthandNotationsRU_9.gif

Out[5]=

UseShorthandNotationsRU_10.gif

In[6]:=

UseShorthandNotationsRU_11.gif

Out[6]=

UseShorthandNotationsRU_12.gif

Вы, также, можете использовать инфиксную запись для функций с двумя аргументами:

In[7]:=

UseShorthandNotationsRU_13.gif

Out[7]=

UseShorthandNotationsRU_14.gif

    

"Чистые" (абстрактные) функции очень часто используются в Mathematica. Они позволяют Вам использовать функцию без необходимости присваивать ей даже формальное имя. Вы можете использовать краткую форму записи для Function для задания "чистой" функции.

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

In[8]:=

UseShorthandNotationsRU_15.gif

Out[8]=

UseShorthandNotationsRU_16.gif

Комбинация символов # и & позволяет сделать то же самое. Символ # служит в качестве указателя места подстановки переменной, а симовол & предшествует значению, которое Вы желаете использовать вместо переменной функции:

In[1]:=

UseShorthandNotationsRU_17.gif

Out[1]=

UseShorthandNotationsRU_18.gif

    

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

Используем Map для применения функции к каждому элементу списка:

In[10]:=

UseShorthandNotationsRU_19.gif

Out[10]=

UseShorthandNotationsRU_20.gif

Использование комбинации символов /@ приводит к такому же результату:

In[11]:=

UseShorthandNotationsRU_21.gif

Out[11]=

UseShorthandNotationsRU_22.gif

Функция Apply также имеет краткую форму записи (@@):

In[12]:=

UseShorthandNotationsRU_23.gif

Out[12]=

UseShorthandNotationsRU_24.gif

In[13]:=

UseShorthandNotationsRU_25.gif

Out[13]=

UseShorthandNotationsRU_26.gif

    

Краткие формы записи функций в Mathematica могут быть объединены для создания эффективного кода.

Используем Map и Function для возведения каждого элемента списка в степень и добавления символа переменной к результату:

In[14]:=

UseShorthandNotationsRU_27.gif

Out[14]=

UseShorthandNotationsRU_28.gif

Выполним ту же самую операцию, использовав краткую форму записи для Function:

In[15]:=

UseShorthandNotationsRU_29.gif

Out[15]=

UseShorthandNotationsRU_30.gif

Расширим этот пример, добавив краткую форму записи для Map:

In[16]:=

UseShorthandNotationsRU_31.gif

Out[16]=

UseShorthandNotationsRU_32.gif

    

Вам часто понадобится использовать предыдущий результат в новом вычислении. Это может быть сделано при помощи символа % , краткой формы записи для функции Out.

Проведем вычисление:

In[17]:=

UseShorthandNotationsRU_33.gif

Out[17]=

UseShorthandNotationsRU_34.gif

Используем краткую форму записи для Out, символ % , чтобы отобразить последний результат:

In[18]:=

UseShorthandNotationsRU_35.gif

Out[18]=

UseShorthandNotationsRU_36.gif

Используем % совместно с краткой формой записи для функции Part, [[...]], чтобы извлечь первый элемент из списка:

In[19]:=

UseShorthandNotationsRU_37.gif

Out[19]=

UseShorthandNotationsRU_38.gif

Вы можете использовать %%% для обращения к результатам предыдущих вычислений. Извлечем результат, полученный два вычисления назад:

In[20]:=

UseShorthandNotationsRU_39.gif

Out[20]=

UseShorthandNotationsRU_40.gif

Если Вы хотите получить результат вычислений, выполненных достаточно давно, использование для этого многих символов % может оказаться громоздким и неудобным.

Вместо этого, используйте номер требуемой ячейки вывода в качестве аргумента функции Out. Если Вы рассчитаете эту ячейку, Вы получите результат ячейки UseShorthandNotationsRU_41.gif Вашей текущей сессии Mathematica, который совсем не обязательно будет таким, как показано здесь:

In[28]:=

UseShorthandNotationsRU_42.gif

Out[28]=

UseShorthandNotationsRU_43.gif

Здесь то же самое действие получено с помощью краткой формы записи:

In[29]:=

UseShorthandNotationsRU_44.gif

Out[29]=

UseShorthandNotationsRU_45.gif

Несмотря на удобство, ссылка на предыдущий результат вычислений с помощью номера ячейки вывода или краткой формы записи может легко выйти из-под контроля, ввиду того, что при этом текущие вычисления всегда опираются на более ранние результаты. Поэтому Вам нужно убедиться, что предыдущий результат, который Вы хотите использовать, доступен для текущих вычислений. Так что, используйте эти ссылки с осторожностью.

    

Работа со строками может быть облегчена при использовании краткой формы записи для функций обработки строк.

Соединение строк вместе является часто используемой операцией со строками. Сделаем это с помощью функции StringJoin:

In[30]:=

UseShorthandNotationsRU_46.gif

Out[30]=

UseShorthandNotationsRU_47.gif

Воспользуемся краткой формой записи для StringJoin, <>. Та же самая операция может быть записана как:

In[31]:=

UseShorthandNotationsRU_48.gif

Out[31]=

UseShorthandNotationsRU_49.gif

StringExpression является очень важной функцией, используемой для представления строк.  Она используется со многими функциями для обработки строк, такими как StringReplace, StringCases, StringSplit и StringMatchQ.

Используем StringExpression для создания объекта, представляющего собой строку:

In[25]:=

UseShorthandNotationsRU_50.gif

Out[25]=

UseShorthandNotationsRU_51.gif

Или применим ~~, краткую форму записи для StringExpression:

In[26]:=

UseShorthandNotationsRU_52.gif

Out[26]=

UseShorthandNotationsRU_53.gif