ЗАДАЧА 3. Найти общее решение дифференциального уравнения Бернулли.

> restart:

> x*diff(y(x),x)-2*y(x)=2*x^4;ODE:=%:

x*diff(y(x),x)-2*y(x) = 2*x^4

Сделаем замену переменных:

> y(x):=u(x)*v(x);
Diff('y'(x),x)=diff(y(x),x);

y(x) := u(x)*v(x)

Diff(y(x),x) = diff(u(x),x)*v(x)+u(x)*diff(v(x),x)

Тогда исходное уравнение будет иметь вид:

> ODE;
expand(ODE/x);
collect(op(1,%)-op(2,%)=0,u);ODE1:=%:

x*(diff(u(x),x)*v(x)+u(x)*diff(v(x),x))-2*u(x)*v(x)...

diff(u(x),x)*v(x)+u(x)*diff(v(x),x)-2/x*u(x)*v(x) =...

(diff(v(x),x)-2/x*v(x))*u(x)+diff(u(x),x)*v(x)-2*x^...

Решим уравнение относительно v(x):

> op([1,1,1],ODE1)=0;
dsolve(op([1,1,1],ODE1)=0,v(x));
print(`Возьмём частное решение:`);`v`[1]:=x^2;

diff(v(x),x)-2/x*v(x) = 0

v(x) = _C1*x^2

`Возьмём частное решение:`

v[1] := x^2

Подставим это частное решение в уравнение относительно u(x):

> diff(u(x),x)*'v'(x)-2*x^3=0;
(subs(v(x)=`v`[1],diff(u(x),x)*v(x)-2*x^3)=0);
isolate(expand(%/x^2),diff(u(x),x));
dsolve(%,u(x));DS:=%:

diff(u(x),x)*v(x)-2*x^3 = 0

diff(u(x),x)*x^2-2*x^3 = 0

diff(u(x),x) = 2*x

u(x) = x^2+_C1

В итоге получим общее решение y(x) = v[1]*u(x) :

> y(x):=`v`[1]*op(2,DS);

y(x) := x^2*(x^2+_C1)