ЗАДАЧА 2. Найти решение дифференциального уравнения.
> restart:
> with(PDEtools,declare):
> declare(y(x),prime=x);
> y(x)^2+x^2*diff(y(x),x)=x*y(x)*diff(y(x),x);ODE:=%:
> declare(u(x),prime=x);
Разделим обе части на .
>
expand(ODE/x^2);
Сделаем замену переменных:
> y(x):=u(x)*x;`y'`:=diff(y(x),x);
Тогда перепишем исходное уравнение:
>
expand(ODE/x^2);
isolate(%,u(x));
Решая это, получим:
> dsolve(%,u(x),implicit);DS:=%:
И сделав обратную замену ,получим:
>
u(x):='y'(x)/x:DS;
Откуда получаем:
> y=x*ln(y)+x*_C1;
Или (при желании блеснуть знанием высшей математики):
> 'y'(x) = exp(-LambertW(-1/(exp(_C1)*x))-_C1),`что в общем-то и является решением предыдущего уравнения.`;
Замечание*. Функция LambertW есть функция, удовлетворяющая следующему условию: .