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