Части выражений и работа с ними
Части выражений и работа с ними
Сложные выражения состоят из частей, которые могут интерпретироваться различным образом.
Тип части
|
Зависимость
|
Пример
|
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 [ [nl,n2,...] ] — выделяет части выражения и показывает их в форме дерева;
-
expr [[{nl, n2,...}]] — дает комбинацию нескольких частей выражения. Приведем примеры использования этих средств.
Ввод (In)
|
Вывод (Out)
|
f :=а + b*х^2 + с*х^3 |
|
Part[f, 3]
|
ex
3
|
Part[f, 2] |
bx
2
|
f[[1]]
|
a
|
f[[3]]
|
ex
3
|
f[[-1]]
|
ex
3
|
Нередко выражения рассматриваются как возможные значения переменных. В этом случае используются операторы присваивания переменным заданных значений. Mathematica имеет два типа присваивания — с помощью символов «: =» и с помощью символа «=». Они различаются временем вычисления выражения, следующего за этими символами. Знак «: =» используется для задержки присваивания до вычисления правой части, например:
f[x_] := % + 2 х
Вывода здесь нет. Продолжим наш эксперимент: 1 + у^2
1 + y2
g[х_] = % + 2 х
1 + 2 х + у2
Теперь вывод есть, так как % (ссылка на предыдущий результат) определена в виде выражения 1 + у^2 и при задании [х_] использован оператор немедленного присваивания. Далее:
2 + z
2 + z
{f[a],g[a]>
{2 + 2a+z, 1 + 2 а + у2}
Следующие функции возвращают особые части выражения:
-
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
|
Работа с выражениями, умение их преобразовывать и выделять нужные фрагменты является важнейшей частью культуры символьных преобразований.
Содержание раздела