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

         

Функции, опции, атрибуты и директивы


К важному типу объектов принадлежат функции — объекты, имеющие имя и список параметров, возвращающие некоторое значение в ответ на обращение к ним по имени с указанием списка конкретных (фактических) значений параметров. В системах Mathematica 2/3/4 встроенные функции задаются в виде

И дентификатор_Функции [ol, о2, o3, ...]

где ol, о2, оЗ... — объекты (параметры, опции, математические выражения и т. д.). Список входных параметров задается необычно — в квадратных скобках. В числе входных параметров могут быть специальные объекты — опции. Они задаются в виде

Имя_опции->3начение_опции


Значением опции обычно является то или иное слово. Например, в функции построения графиков

Plot [sin[x] , {x, 0,20} ,Axes->None]

опция Axes->None указывает на то, что отменяется вывод координатных осей (Axes). Функция Options [name] выводит для функции с идентификатором name список всех возможных для нее опций. Некоторые функции, например Sin, могут вообще не иметь опций, другие, такие как Solve, могут иметь целый «букет» опций:

Options [Sin]

Options [Solve]

{InverseFunctions -> Automatic, MakeRules -> False,

Method -> 3, Mode -> Generic, Sort -> True,

VerifySolutions -> Automatic, WorkingPrecision -> 00}

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

Каждый объект может характеризоваться некоторой совокупностью своих свойств и признаков, называемых атрибутами. Функция Attributes [name] возвращает список всех атрибутов функции с именем name, например:

Attributes [Sin]

{bistable, NumericFunction, Protected}

Attributes [Solve]

{Protected}

Как видите, для функции синуса характерны три атрибута:

  • bistable — указывает на применимость в списках и таблицах;
  • NumericFunction — указывает на отношение к числовым функциям;
  • Protected — указывает на то, что слово Sin защищено от какой-либо модификации.

Кроме того, в Mathematica 2/3/4 имеется понятие функций-директив. Эти функции не возвращают значений, а указывают, как в дальнейшем будут выполняться функции, работа которых зависит от директив. Синтаксис функций-директив тот же, что и у обычных функций.

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



Содержание раздела