Maple 9.5/10 в математике, физике и образовании
Шрифт:
В связи с указанным решение жестких систем дифференциальных уравнении средствами системы Maple не вызывает особых трудностей и может быть осуществлено даже при выборе не вполне удачного метода. Однако при этом возможны следующие ситуации:
• может резко возрасти время вычислений из за чрезмерно сильного уменьшения шага решения;
• может оказаться превышенным число итераций в ходе дробления шага;
• для «особо жестких» систем адаптивный выбор шага может не помочь и погрешность решения будет большой.
Во избежание этого рекомендуется при решении жестких систем дифференциальных уравнений все же пользоваться специально для них созданными методами, например методом Розенброка (опция method=rosenbrock для функции dsolve).
7.7.2.
В качестве первого примера исследуем и решим следующую систему дифференциальных уравнений (файл sdes):
Загрузив пакет linalg вычислим собственные значения матрицы данной системы дифференциальных уравнений:
Они оказались отрицательными. Кроме того, очевидно, что значение жесткости данной системы s=10. Его трудно назвать очень большим, но в целом условия жесткости для данной системы выполняются. Теперь решим эту систему методом Розенберга. Решение представлено на рис. 7.22. Обратите внимание на то, что представлены две точки и график решения. К достоинствам реализации примененного метода относится отсутствие необходимости в составлении матрицы Якоби, которую приходится задавать при использовании ряда функций системы Mathcad, имеющихся для решения жестких систем дифференциальных уравнений [9].
Рис. 7.22. Задание и решение жесткой системы дифференциальных уравнений (пример 1)
Еще один пример задания и решения жесткой системы дифференциальных уравнений представлен на рис. 7.23. Собственные значения матрицы этой системы равны -2 и -1000, а жесткость системы s=500 (проверьте сами по аналогии с ранее приведенным примером). Таким образом, эта система намного жестче, чем система из первого примера. Обратите внимание на то, что она решается без задания метода решения, но с опцией stiff=true, вынуждающей Maple выбирать метод для решения жестких систем дифференциальных уравнений.
Рис. 7.23. Задание и решение жесткой системы дифференциальных уравнений (пример 2)
7.7.3. Пример решения системы жестких дифференциальных уравнений химической кинетики
Жесткие системы дифференциальных уравнений, часто описывают кинетику химических процессов, например, растворение веществ в растворах или смешивание газов.
На рис. 7.24 показано решение жесткой системы из трех дифференциальных уравнений, описывающих один из типовых химических процессов — какой именно в данном случае не важно.
Рис. 7.24. Решение жесткой системы дифференциальных уравнений, описывающей кинетику химического процесса
7.7.4. Решение дифференциального уравнения Ван-Дер Поля
Классическим примером нелинейного дифференциального уравнения второго порядка, относящегося к жесткому типу по большом значении некоторого параметра mu, относится уравнение Ван-Дер
Поля. Важность этого уравнения заключается в том, что к нему довольно просто сводятся дифференциальные уравнения, описывающие динамику развития колебаний в различных колебательных системах, например, автогенераторах на электронных лампах, полевых и биполярных транзисторах.Пример задания и решения дифференциального уравнения Ван-Дер Поля при сравнительно малом mu=1 (и при выборе метода решения по умолчанию) представлен на рис. 7.25. Нетрудно заметить, что выбор Maple пал на метод rkf45 и что этот метод не очень удачен даже для этого метода с mu=1. Хотя общая форма колебаний (близкая к синусоидальной, но все же заметно искаженная) в интервале t от 0 до 20 просматривается, уже в данном случае видна нестабильность колебаний. При увеличен максимального значения t до 100 и более, нестабильность колебаний становится весьма заметна (проверьте это сами).
Рис. 7.25 Задание и решение дифференциального уравнения Ван-Дер Поля при сравнительно малом mu=1
Задание и решение дифференциального уравнения Ван-Дер Поля при большом mu=2000 (рис. 7.26) демонстрирует существенное изменение формы временной зависимости колебаний и их параметров. Теперь отчетливо виден разрывный характер колебаний, типичный для релаксационных колебаний. Моделирование колебаний в этом случае методом rkf45 уже невозможно и потому для решения задана опция stiff=true. При этом Maple взял за основу метод Розенброка. Он обеспечивает более качественное моделирование в системе Ван-Дер Поля.
Рис. 7.26. Задание и решение дифференциального уравнения Ван-Дер Поля при большом mu=2000
Дополнительные примеры на решение жестких систем дифференциальных уравнений можно найти в разделах справки по решению таких уравнений.
7.7.5. Решение дифференциальных уравнении с двумя краевыми условиями
В решении ряда математических задач нужно найти решение дифференциального уравнения с двумя краевыми условиями. Например, в физике это задача стрельбы по летящей цели. Обычно такая задача решается методом пристрелки, при котором методом проб с итерационным уточнением рассчитывается ряд вариантов решения и выбирается тот, у которого соблюдается начальное условие в начале решения и начальное условие в конце решения с заданной (в частности по умолчанию) погрешностью.
Для такого решения используется функция dsolve в следующем виде:
Здесь:
• odesys — множество или список обыкновенных дифференциальных уравнений и двойных граничных условии;
• numeric — опция, задающая решение в численном виде;
• vars — опционально заданный параметр, задающий имя переменной в odesys;
• options — опционально заданные равенства (в форме keyword=value), определяющие краевые условия.
Пример решения дифференциального уравнения второго порядка с двумя граничными условиями представлен на рис. 7.27. Отчетливо видно, что найденная зависимость точно удовлетворяет краевым условиям.
Рис. 7.27. Пример решения дифференциального уравнения второго порядка с двумя граничными условиями
7.8. Решение дифференциальных уравнений с частными производными
7.8.1. Функция pdsolve