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

Основные формы записи выражений. Части выражений и работа с ними.

Возможны четыре основные формы записи выражений:

  • f [х, у] – стандартная форма для f [х, у];
  • f @ х – префиксная форма для f [ х ];
  • х / / f – постфиксная форма для f [ х ];
  • х ~ f ~ у – инфиксная форма для f [ х, у ].

Далее приведены примеры применения этих форм.

Ввод (In) Вывод (Out)
F[x_] = 2*х^2 2X2
F[a] 2a2
a//F 2 a2
f [x_, y_] = х^ 2 + у^2 y2 +x2
f[a,b] a2 +b2
a-f-b a2 + b2

Можно использовать ту или иную форму выражений в зависимости от класса решаемых математических задач.

Части выражений и работа с ними

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

Тип части Зависимость Пример
Function От аргументов или параметров Ехр[х], f [х,у]
Command От аргументов или параметров Expand [ (х-1) ^2]
Operator От операндов x + y+z, a = b
Head От элементов {a,b,c}
Object type От контекста RGBColor [r,g,b]

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

  • Part [expr, n] или expr [ [n] ] – выделяет п-ю часть выражения, начиная с начала;
  • expr [ [-n] ] – выделяет п-ю часть выражения, начиная с конца;
  • expr [ [n1,n2,…] ] – выделяет части выражения и показывает их в форме дерева;
  • expr [[{n1, n2,…}]] – дает комбинацию нескольких частей выражения. Приведем примеры использования этих средств.
Ввод (In) Вывод (Out)
f: = а + b*х^2 + с*х^3  
Part[f, 3] ex3
Part[f, 2] bx2
f[[1]] a
f[[3]] ex3
f[[-1]] ex3

Нередко выражения рассматриваются как возможные значения переменных. В этом случае используются операторы присваивания переменным заданных значений. Mathematica имеет два типа присваивания – с помощью символов ": =" и с помощью символа "=". Они различаются временем вычисления выражения, следующего за этими символами. Знак ": =" используется для задержки присваивания до вычисления правой части, например:

f[x_] := % + 2 x

Вывода здесь нет. Продолжим наш эксперимент:

1 + y ^ 2
1 + y2
g[x_] = % + 2 x
1 + 2 x + y2

Теперь вывод есть, так как % (ссылка на предыдущий результат) определена в виде выражения 1 + у^2 и при задании [х_] использован оператор немедленного присваивания. Далее:

2 + z
2 + z
{f[a], g[a]}
{2 + 2a+z, 1 + 2 a + y2}

Следующие функции возвращают особые части выражения:

  • Denominator [expr] – возвращает знаменатель выражения ехрг;
  • First[expr] – возвращает первый элемент из ехрг;
  • Last[expr] – возвращает последний элемент из ехрг;
  • Rest [expr] – возвращает ехрг с удаленным первым элементом.

Ниже приводятся примеры применения этих функций.

Ввод (In) Вывод (Out)
Denominator [ (х + 1) / (х^ 2 + 2*х + 3) ] 3+ 2х+ х^2
ехрг = а * b + с – d ab+ с – d
First [expr] ab
Last [expr] -d
Rest [expr] c-d

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

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.