Страница 1 из 1

замена функции

Добавлено: Чт окт 04, 2012 6:34 am
Andrey
Друзья! Вот такой вопрос. Предположим, есть дифференциальное уравнение:

Код: Выделить всё

pde = d D[c[x], {x, 2}] + r D[c[x], {x, 1}]
и предполагается, что его решение такое:

Код: Выделить всё

cl = c0 (1 + (1 - k)/k Exp[-(r/d) x])
Нужно проверить, отвечает ли решение диффуру.

Сейчас пока делается так:

Код: Выделить всё

pde /. {c[x]->cl, D[c[x],x]->D[cl,x], D[c[x],{x,2}]->D[cl,{x,2}]}
т.е. в списке замены каждая производная прописывается отдельно. А можно ли заменить сразу функцию, чтобы от нее производные сами брались в процессе замены?

См. Help

Добавлено: Чт окт 04, 2012 12:37 pm
Markiyan Hirnyk
Посмотрите Help/Documentation Center/ Наберите в Search Dsolve , не DSolve >> Check the Results of DSolve
In[1]:=PDE = D[u[x, y], x] + Sin[x]*D[u[x, y], y] == x^2;
In[2]:=sol = DSolve[PDE, u, {x, y}]
Out[2]= {{u -> Function[{x, y}, 1/3 (x^3 + 3 C[1][y + Cos[x]])]}}
In[3]:= Simplify[PDE /. sol]
Out[3]= {True}

Добавлено: Чт окт 04, 2012 12:58 pm
Andrey

Код: Выделить всё

pde /. {c->Function[x,cl]}
Странно, вроде так делал, и не получалось. Значит, не совсем так делал. СПАСИБО ОГРОМНОЕ!

Добавлено: Чт ноя 15, 2012 8:24 pm
Andrey
Действительно не совсем так делал, про Evaluate надо не забыть

Код: Выделить всё

pde /. {c->Function[x,cl//Evaluate]}