Подстановка переменной в функцию

Форум пользователей пакета Mathematica

Модератор: Admin

suntanka
Сообщения: 16
Зарегистрирован: Ср дек 22, 2010 9:03 pm

Подстановка переменной в функцию

Сообщение suntanka » Пт авг 16, 2013 9:24 pm

Пишу код:
f = {x[3] + x[4], x[4] + x[5], x[3], x[4], x[5]};
Print[f];
x[3] = 5;
Print[f];

На выходе получаю:
{x[3]+x[4],x[4]+x[5],x[3],x[4],x[5]}

{5+x[4],x[4]+x[5],5,x[4],x[5]}

А что делать, если теперь надо обратиться к первоначальному виду функции f? Ее ведь вид изменился. Или как можно по-другому в нее x[3] подставить? Выражение {x[3] + x[4], x[4] + x[5], x[3], x[4], x[5]} именно такое, а не какое другое

volmike
Сообщения: 235
Зарегистрирован: Вс июн 05, 2005 2:42 pm
Контактная информация:

Сообщение volmike » Ср авг 21, 2013 7:58 pm

Можно использовать подстановку, не изменяющую функцию f:
g=f/.x[3]->5.
Можно также задать функцию с параметрами
f[x1_,x2_,x3_,x4_,x5_]:={x3 + x4, x4 + x5, x3, x4, x5} и получить необходимый результат посредством
вызова f[x1,x2,5,x4,x5].
Лысый пешему не конный...