На рис. 3.1 представлено решение системы из двух дифференциальных уравнений различными методами — в явном виде, в виде разложения в ряд и с использованием преобразования Лапласа. Здесь следует отметить, что решение в виде ряда является приближенным. Поэтому полученные в данном случае аналитические выражения отличаются от явного решения и решения с применением преобразования Лапласа.
Рис. 3.1.Решение системы из двух дифференциальных уравнений различными методами
Следует отметить, что, несмотря на обширные возможности Maple 6 в аналитическом решении дифференциальных уравнений, оно возможно далеко не всегда.
Поэтому, если не удается получить такое решение, полезно попытаться найти решение в численном виде.
Численное решение дифференциальных уравнений.
Большинство нелинейных дифференциальных уравнений не имеет аналитического решения. Кроме того, часто аналитическое решение и не нужно, но требуется получить ответ в виде графических зависимостей.
В таких случаях для решения дифференциальных уравнений в численном виде используется функция dsolve с опцией numeric или type=numeric. При этом решение возвращается в виде специальной процедуры, по умолчанию реализующей широко известный метод решения дифференциальных уравнений Рунге— Кутта—Фельберга порядков 4 и 5 (в зависимости от условий адаптации решения к скорости его изменения). Эта процедура называется rkf 4 5 и символически выводится (без тела) при попытке решения заданной системы дифференциальных уравнений. Последнее достаточно наглядно иллюстрирует рис. 3.2.
Рис. 3.2.Решение системы дифференциальных уравнений численным методом rkf45 с выводом графика решения
Указанная процедура возвращает особый тип данных, позволяющих найти решение в любой точке или построить график решения (или решений). Для этого Maple 6 предлагает ряд возможностей, и одна из них представлена на рис. 13.2 — см. последнюю строку ввода. При этом используется функция plot [odeplot] из пакета odeplot, предназначенного для визуализации решений дифференциальных уравнений.
В список параметров функции dsolve можно явным образом включить указа-; ние на метод решения, например опция mathod=dverk7 8 задает решение непрерывным методом Рунге—Кутта порядка 7 или 8. Вообще говоря, численное решение дифференциальных уравнений можно производить одним из следующих методов:
О classical — одна из восьми версий классического метода, используемого по умолчанию;
О rkf4 5 — метод Рунге—Кутта 4 или 5 порядка, модифицированный Фейхс-бергом;
О dverk7 8 — непрерывный метод Рунге—Кутта порядка 7 или 8;
О gear — одна из двух версий одношагового экстраполяционного метода Гира;
О mgear — одна из трех версий многошагового эктраполяционного метода Гира;
О Isode — одна из восьми версий Ливенморского решателя дифференциальных уравнений;
О taylorseries — метод разложения в ряд Тейлора.
Обилие используемых методов расширяет возможности решения дифференциальных уравнений в численном виде. Большинство пользователей Maple 6 вполне устроит автоматический выбор метода решения по умолчанию. Однако в сложных случаях возможна прямая установка одного из указанных выше методов. С деталями реализации методов можно ознакомиться по справочной системе.
С помощью опции 'abserr '=aerr можно задать величину абсолютной погрешности решения, а с помощью опции 'minerr '=mine — минимальную величину погрешности. В большинстве случаев эти величины, заданные по умолчанию, оказываются приемлемыми для большинства расчетов.
Maple 6 реализует адаптируемые к ходу решения методы, при которых шаг решения h автоматически меняется, подстраиваясь под условия решения. Так, если прогнозируемая погрешность решения становится больше заданной, шаг решения автоматически уменьшается. Более того, система Maple способна автоматически выбирать наиболее подходящий для решаемой задачи метод решения.
Еще один пример решения системы дифференциальных уравнений представлен на рис. 3.3. Здесь на одном графике представлены зависимости у(х) и z(x), представляющие полное решение заданной системы. При этом процедура имеет особый вид listprocedure и для преобразования списка выходных данных в векторы решения Y и Z используется функция subs.
Для решения достаточно сложных задач полезны специальная структура DESol для решения дифференциальных уравнений и инструментальный пакет Detools, содержащий самые изысканные средства для графической визуализации результатов решения дифференциальных уравнений. Эти средства мы более подробно рассмотрим в дальнейшем.
![]() |
Рис.3.3. Решение системы дифференциальных уравнений численным методом с выводом всех графиков искомых зависимостей
Задание на работу.
Изучить теоретическую часть; смоделировать заданную преподавателем функцию и получить ее график.
Содержание отчета.
Моделирующая программа и ее результаты
Лабораторная работа №4
«Спектральный анализ в среде Maple»
Цель и задачи работы.
Изучение основ спектрального анализа.
Теоретические сведения.