Мультимедиа: геометрия, графика, кино, звук

         

в виде поименованных правил. Например,



Пример 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)

Теперь применим эти правила.

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