Вход/Регистрация
Maple 9.5/10 в математике, физике и образовании
вернуться

Дьяконов Владимир Павлович

Шрифт:

7.6.2. Проверка ДУ на автономность

Одиночное дифференциальное уравнение или система дифференциальных уравнений называется автономной, если их правая часть явно не зависит от независимой переменной. Для автономных дифференциальных уравнений или систем при построении графиков решений функцией DEplot не обязательно задавать начальные условия, но нужно указывать диапазон изменения искомых переменных.

Для проверки уравнений (или систем) на автономность используется функция

autonomous(des,vars, ivar)

где des — заданное дифференциальное уравнение или (в виде списка) система дифференциальных уравнений, vars — зависимые переменные и ivar — независимая переменная. Если система автономна, то эта функция возвращает true, в противном случае false.

Примеры:

> dif1:=diff(х(t),t)=x(t)*(1-y(t));

dif2:=diff(y(t),t)=.3*y(t)*(x(t)-1);

> autonomous({dif1,dif2),[x(t),y(t)],t);

true

> autonomous(diff(x(t),t)=sin(t),x,t);

false

В первом случае система дифференциальных уравнений (модель Лотки-Вольтерра) автономна, а во втором случае дифференциальное уравнение не автономно.

7.6.3. Контроль уровня вывода решения ДУ

Для углубленного анализа аналитического решения ДУ (или системы ДУ) можно использовать специальную возможность управления уровнем вывода решения с помощью системной переменной infolevel(dsolve):=level. Значение level=all дает обычный вывод решения без комментариев, уровень 1 зарезервирован для информации, которую может сообщить пользователь, уровень 2 или 3 дает более детальный вывод (включая сообщения об использованном алгоритме и технике решения) и, наконец, уровни 4 и 5 дают наиболее детальную информацию (если таковая есть в дополнение к той информации, которую дает уровень 2 или 3).

Приведем пример аналитического решения ДУ третьего порядка с контролем уровня вывода решения (файл deil):

> myDE:= x^2 * diff(y(х),х,х,х) - 2*(n+1)*x*diff(y(х), х, х) + (а*х^2+6*n)*diff(y(х),х)-2*а*х-y(х) = 0;

> infolevel[dsolve] := all: dsolve(myDE);

> infolevel[dsolve] := 1:dsolve(myDE);

<- No Liouvillian solutions exists

> infolevel[dsolve] := 3:dsolve(myDE); Methods for third order ODEs:

– - Trying classification methods --

trying a quadrature

checking if the LODE has constant coefficients

checking if the LODE is of Euler type

trying high order exact linear fully integrable

trying to convert to a linear ODE with constant coefficients

Equation is the LCLM of -2*x/(2*(2*n-1)/а+х^2)*y(x)+diff(y(x), x), a*y(x)-@KOD = 2*n/x*diff(y(x),x)+diff(diff(y(x),x),x)

checking if the LODE is of Euler type

– > Attemtping a differential factorization

trying exponential solutions

checking if the LODE is of Euler type 1, exponential solutions found

exponential solutions successful

<- differential factorization successful

– > Tackling the linear ODE "as given":

trying a quadrature

checking if the LODE has constant coefficients

checking if the LODE is of Euler type

trying a symmetry of the form [xi=0, eta=F(x)]

checking if the LODE is missing 'y'

– > Trying a Liouvillian solution using Kovacic's algorithm

<- No Liouvillian solutions exists

– > Trying a solution in terms of special functions:

– > Bessel

<- Bessel successful

<- special function solution successful

<- successful solving of the linear ODE "as given"

<- solving the LCLM ode successful

В данном случае повышение уровня вывода до 4 или 5 бесполезно, поскольку вся информация о решении сообщается уже при уровне 2 (или 3).

7.6.4. Приближенное полиномиальное решение дифференциальных уравнений

Во многих случаях аналитические решения даже простых ДУ оказываются весьма сложными, например, содержат специальные математические функции. При этом нередко полезна подмена такого решения другим, тоже аналитическим, но приближенным решением. Наиболее распространенным приближенным решением в этом случае может быть полиномиальное решение, то есть замена реального решения полиномом той или иной степени. При этом порядок полинома задается значением системной переменной Order, а для получения такого решения функция dsolve должна иметь параметр series.

  • Читать дальше
  • 1
  • ...
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: