Сложные выражения состоят из частей, которые могут интерпретироваться различным образом.
Тип части
Зависимость
Пример
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}
Следующие функции возвращают особые части выражения: