Иллюстрированный самоучитель по Mathematica 5

Алгебра. Замена выражений в формулах.

Одним из наиболее распространенных видов алгебраических преобразований является замена выражений, часто называемая также подстановкой, в результате выполнения которой какая-либо часть алгебраического выражения заменяется новым выражением. В системе Mathematica предусмотрено два способа подстановок. Первый способ выполняется с помощью функции Set.

Вычисление выражения Set [левая часть, правая часть], или левая часть = правая часть, выполняется следующим образом. Сначала вычисляется правая часть, а затем получившийся результат (вычисленное выражение) присваивается в качестве значения невычисленной левой части. Всюду в дальнейшем левая часть, в какие бы выражения она ни входила, будет заменяться выражением, полученным в результате вычисления правой части. Левая и правая части могут быть списками, и поэтому операцию замены (подстановки) Set можно записать в виде присваивания списков {левая часть,, левая часть2,…} = {правая часть,, правая часть2,…}. В этом случае результат вычисления /-и правой части будет присвоен /-и левой части. В качестве примера присвоим символу х значение а и после этого вычислим выражение (х+1)^2.

x=a
a
(x+1)^2
(1 + a)2

Вот более сложный случай.

{x,x}={a,b}
{a,b}
x^2 
b^2

Обратите внимание, что никакого предупреждения не было. Это подобно тому, как в языках программирования вполне допустим оператор х = х+1 потому, что действия выполняются не одновременно, а в определенном порядке.

А вот случай, когда значения функции задаются в определенных точках.

Evaluate[ff/@{a,b,c,d}]={1.23.45.678}; 
ff[b] 
23

Как видите, теперь везде ff [b] заменяется своим значением. Пусть теперь b = 1. Заменится ли ff [1] своим значением? Оказывается, нет.

b=1
1
ff[1
ff[1]

Более того, теперь даже ff [b] не заменяется своим значением.

ff[b] 
ff[1]

Это происходит потому, что аргумент функции вычисляется в данном случае раньше.

Иногда глобальную подстановку нужно отменить. Если левая часть есть переменная, это можно сделать с помощью функции Clear. Вызов clear [переменная], переменная2,…} отменяет все подстановки значений, присвоенных переменным переменная!, переменная!,…. Для отмены подстановки значения одной переменной можно использовать присваивание вида переменная =.b=N[Pi,50]:

3.1415926535897932384626433832795028841971693993751
b=.
b
b

Присваивание вида переменная =. является синонимом выражения Unset [переменная].

b=N[Pi,50]
3.1415926535897932384626433832795028841971693993751
Unset[b]
b
b
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.