Компьютерная алгебра в программе Mathematica 4

         

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



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

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

Тип части



Зависимость

Пример

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

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



Содержание раздела