в виде поименованных правил. Например,
Пример 1
Для всех дальнейших вычислений х сохраняет свое значение.
х+у
5.8598744820488384738229308546321653819544164930751+ у
Подстановки удобно задавать в виде поименованных правил. Например, можно определить подстановку r1= х->а, и после этого она может быть применена к конкретному выражению с помощью функции ReplaceAll, имеющей также постфиксную форму /.:
r1 = х -> а x+1/.rl
1+а
То же самое можно сделать и так:
ReplaceAll[х + 1, r1]
1+а
Вот пример последовательных замен.
{а,b, с}/.a->b/.b->d
{d,d,c}
Функция ReplaceAll позволяет осуществить несколько подстановок одновременно. Тогда эти подстановки должны быть оформлены в виде списка и заданы вторым аргументом этой функции. Вот пример одновременной замены:
{а,b,с}/.(a->b,b->d)
{b,d,c}
Однако функция ReplaceAll выполняет замену в каждом подвыражении только
раз, рекурсивно замена не выполняется.
а
ReplaceAll [х + х2 , {х -> а, х2 -> х} ]
а+х
Если же нужно делать подстановки повторно, необходимо использовать функцию
ReplaceRepeated.
ReplaceRepeated[x + х2, {х->а, х2-» х} ]
2 а
Функция ReplaceRepeated имеет постфиксную форму // ..
х + х2 // . {х -> а, х2 -> х}
2 а
Пусть имеем список заменяемых и список заменяющих выражений. Тогда правила замены можно сформировать с помощью функции Thread.
rr=Thread[{r,s,t}->{R, S,T}]
(r->R,s->S,t->T)
Теперь применим эти правила.