Дьяконов Владимир Павлович
Шрифт:
7.6.2. Проверка ДУ на автономность
Одиночное дифференциальное уравнение или система дифференциальных уравнений называется автономной, если их правая часть явно не зависит от независимой переменной. Для автономных дифференциальных уравнений или систем при построении графиков решений функцией DEplot не обязательно задавать начальные условия, но нужно указывать диапазон изменения искомых переменных.
Для проверки уравнений (или систем) на автономность используется функция
где des — заданное дифференциальное уравнение или (в виде списка) система дифференциальных уравнений, vars — зависимые переменные и ivar — независимая переменная. Если система автономна, то эта функция возвращает true, в противном случае false.
Примеры:
В первом случае система дифференциальных уравнений (модель Лотки-Вольтерра) автономна, а во втором случае дифференциальное уравнение не автономно.
7.6.3. Контроль уровня вывода решения ДУ
Для углубленного анализа аналитического решения ДУ (или системы ДУ) можно использовать специальную возможность управления уровнем вывода решения с помощью системной переменной infolevel(dsolve):=level. Значение level=all дает обычный вывод решения без комментариев, уровень 1 зарезервирован для информации, которую может сообщить пользователь, уровень 2 или 3 дает более детальный вывод (включая сообщения об использованном алгоритме и технике решения) и, наконец, уровни 4 и 5 дают наиболее детальную информацию (если таковая есть в дополнение к той информации, которую дает уровень 2 или 3).
Приведем пример аналитического решения ДУ третьего порядка с контролем уровня вывода решения (файл deil):
В данном случае повышение уровня вывода до 4 или 5 бесполезно, поскольку вся информация о решении сообщается уже при уровне 2 (или 3).
7.6.4. Приближенное полиномиальное решение дифференциальных уравнений
Во многих случаях аналитические решения даже простых ДУ оказываются весьма сложными, например, содержат специальные математические функции. При этом нередко полезна подмена такого решения другим, тоже аналитическим, но приближенным решением. Наиболее распространенным приближенным решением в этом случае может быть полиномиальное решение, то есть замена реального решения полиномом той или иной степени. При этом порядок полинома задается значением системной переменной Order, а для получения такого решения функция dsolve должна иметь параметр series.