> autonomous(sin(z(t)-z(t)^2)*(D@@4)(z)(t)-cos(z(t))-5,z,t);
true
> DE:=diff(x(s),s)-x(s)*cos(arctan(x(s)))=arctan(s):
> autonomous(DE,{x},s);
false
Ниже описание этой функции будет продолжено. Функция Dchangevar используется для обеспечения замен (подстановок) в дифференциальных уравнениях:
Dchangevar(trans, deqns, с_ivar, n_ivar)
Dchangevar(tran1, tran2, ..., tranN, deqns, с_ivar, n_ivar)
В первом случае trans — список или множество уравнений, которые подставляются в дифференциальное уравнение, список или множество дифференциальных уравнений deqns. При этом civar — имя текущей переменной, n_ivar — имя новой переменной (его задавать необязательно). Во второй форме для подстановки используются уравнения tran1, tran2, …
Ниже представлены примеры применения функции Dchangevar
# Преобразование 1-го типа
> Dchangevar(m(х) = l(х)*sin(x), n(x)=k(x), [D(m)(x)=m(x), (D@@2)(n)(x)=n(x)^2], x);
[D(l)(x)sin(x) + l(x)cos(x) = l(x)sin(x), (D (2))(k)(x) = k(x) 2
> Dchangevar(c=d, е=sin(f) , {D(с), (D@@2)(e)}, dummy);
[D(d), (D (2))(sin(f))]
# Преобразование 2-го типа
> Dchangevar(t=arctan(tau), diff(x(t), t) = sin(t), t, tau);
D(x)(arctan(x)) = sin(arctan(f))]
> Dchangevar(x=sin(cos(t)),diff(y(x),x,x,x), x, t);
(D (3))(y)(sin(cos(t)))
# Преобразование 3-го типа
> Dchangevar(x(t)=L*y(phi),diff(x(t),t$3) = tan(t),t,phi);
# Дополнительные примеры
> Dchangevar({t=T*phi,x(t)=L*y(phi)},diff(x(t)), t$3)=tan(t),t,phi);
> de := diff(y(x),x$2) = y(x)*diff(y(x),x)/x;
> Dchangevar({x=exp(t), y(x)=Y(t)},de,x,t);
Следует отметить, что подстановки являются мощным средством решения дифференциальных уравнений. Нередки случаи, когда дифференциальное уравнение не решается без их применения.
Функция нормализации ОДУ DEnormal синтаксически записывается в виде
DEnormal(des, ivar, dvar)
где des — система дифференциальных уравнений, ivar — независимая переменная и dvar — зависимая переменная. Применение этой функции поясняют следующие примеры:
> DE := х^3*у(х)+х^2*(х-1)*D(y)(х)+50*х^3*(D@@2)(y)(x)=x*sin(x);
DE := x 3у(х) + x 2(x-1)D(y)(x) + 50 x 3(D (2))(y)(x) = x sin(x)
> DE2 := convertAlg(DE,y(x));
DE2 := [[x³, x³ - x², 50x³], x sin(x)]
> DEnormal(DE,x,y(x));
> DEnormal(DE2,х);
Функция convertAlg(des,dvar) возвращает список коэффициентов формы системы дифференциальных уравнений des с зависимыми переменными dvar. Это поясняют следующие примеры:
> А : = diff(y(х),х)*sin(х) - diff(y(х),х) - tan(х)*y(х) = 5;
> convertAlg(А,y(х));
[[-tan(x), sin(x) - 1], 5]
> В := (D@@2)(y)(х)*cos(x) + (D@@2)(y)(х)*5*х^2;
В := (D (2))(y)(x)cos(x) + 5(D (2))(y)(x)x 2
> convertAlg(В,y(x));
[[0, 0, cos(x) + 5 x²], 0]
Для изменения переменных в системах дифференциальных уравнений используется функция convertsys:
convertsys(deqns, inits, vars, ivar, yvec, ypvec)
Здесь deqns — одно дифференциальное уравнение или список (множество), представляющие систему дифференциальных уравнений первого порядка, inits — множество или список начальных условий, vars — зависимые переменные, ivar — независимые переменные, yvec — вектор решений и ypvec — вектор производных.
indicialeq(des,ivar,alpha,dvar)
обеспечивает полиномиальное представление для линейного однородного дифференциального уравнения второго порядка des. Параметр alpha намечает точку сингулярности.
> Y : =
(2*х^2+5*х^3)*diff(y(х),х,х)+(5*х-х^2)*diff(y(х),х)+(1+х)*y(х)=0:
> Y := convertAlg(Y, y(х));
Y := [[1 + х, 5х - х², 2х² + 5х³], 0]
> indicialeq(Y, х, -2/5, y(х));
> indicialeq(Y, x, 0, y(x));
> indicialeq(Y, х, 1, y(х));
Читать дальше
Конец ознакомительного отрывка
Купить книгу