Приведем пример аналитического решения ДУ третьего порядка с контролем уровня вывода решения (файл 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.
На рис. 7.21 представлено решение ДУ третьего порядка различными методами: точное аналитическое и приближенное в виде полинома с максимальным заданным порядком 10 и 60. График дает сравнение этих решений для зависимости
Рис. 7.21. Примеры решения ДУ третьего порядка
Дадим небольшой комментарий. Нетрудно заметить, что точное аналитическое решение весьма сложно и содержит специальные функции Бесселя и гамма-функции. При порядке полинома 8 (он несколько меньше заданного максимального) решение практически совпадает с точным до значений t<2, а при максимальном заданном порядке 60 область совпадения расширяется до значений t<5,5. Затем приближенное решение резко отходит от точного.
Этот пример с одной стороны иллюстрирует хорошо известный факт — быстрое нарастание погрешности полиномиального приближения за пределами области хорошего совпадений решений. С другой стороны он показывает, что степень полинома более 60 (и даже выше) вовсе не так уж бесполезна, как это утверждается во многих статьях и книгах по полиномиальному приближению. Точность полиномиальных вычислений Maple достаточно высока, чтобы обеспечить получение приближенных полиномиальных выражений со степенью порядка десятков и иногда даже сотен. Другое дело, что столь «длинный» полином не всегда удобен для аналитических расчетов, даже несмотря на его структурную простоту.
7.7. Решение дифференциальных уравнений специального вида
7.7.1. Определение жестких систем дифференциальных уравнений
В последнее время особое внимание уделяется решению важного класса систем дифференциальных уравнений —
• действительные части всех собственных значений матрицы А отрицательны, т. е.
• величина
Жесткие системы впервые появились при решении систем дифференциальных уравнений химической кинетики. Решение таких систем представляется фрагментами с сильно отличающейся крутизной зависимостей. Нередко это случается и при анализе электрических цепей с резко отличными постоянными времени.
Если шаг решения h сравним или больше наименьшей постоянной времени решения, то применение стандартных методов (например, Рунге-Кутта) с неизменным шагом приводит к большим погрешностям вычислений и даже к к расхождению вычислительного процесса, в ходе которого решение грубо отлично от