Основные формы записи выражений. Части выражений и работа с ними.
Возможны четыре основные формы записи выражений:
- 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 |
Работа с выражениями, умение их преобразовывать и выделять нужные фрагменты является важнейшей частью культуры символьных преобразований.