3. Численный метод решения дифференциальных уравнений

Часто при анализе изучаемых в технических или в природных системах процессов приходится учитывать наличие нелинейного поведения функций, описывающих характеристики их элементов. Это в свою очередь определяет появление нелинейностей в дифференциальных уравнениях, которые теперь уже не могут быть записаны в форме (1). Наличие нелинейностей в дифференциальных уравнениях обуславливает невозможность их точного аналитического решения, а приближенные аналитические методы часто приводят к громоздким выкладкам.

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

И наконец, точные методы не пригодны для случая, если правая часть дифференциального уравнения представлена не в аналитической форме, а в виде таблицы или графика.

Во всех этих случаях прекрасно продолжают «работать» методы численного решения. В отличие от аналитических, они позволяют получать искомые зависимости для любой из описанных выше ситуаций. Алгоритмы существующих методов численного решения были разработаны сравнительно давно, однако толчок к их применению был обусловлен развитием вычислительной техники. Каждый из существующих численных методов предполагает замену производной на конечное приращение и преобразование дифференциального уравнения в уравнение в конечных разностях.

С этой целью интервал поиска решения разбивается на множество отрезков и решение ищется на каждом из этих кусочков. Ясно, что чем мельче шаг разбиения, тем точнее получается результат. Поэтому, эффективное применение численных методов (при решении реальных, а не учебных задач!) предполагает использование компьютеров с достаточным быстродействием.

Использование для численного решения дифференциальных уравнений компьютерного пакета MathCAD предполагает знание алгоритма работы численных методов для разумного их применения (знание границ применимости, оценки точности, затрат компьютерных ресурсов и др.). Дело в том, что к результатам компьютерных вычислений всегда нужно относиться критически; анализировать их на правдоподобность, и для того, чтобы избежать "подводных камней" при использовании любого стандартного пакета, реализующего численные методы, нужно иметь хотя бы минимальное представление о том, какой именно численный метод реализован для решения той или иной задачи и как он «работает».

Поскольку для оценки точности решения необходим материал для сравнения предлагается рассматривать приближенные (численные) методы решения применительно к тем задачам, для которых ранее было получено аналитическое решение (т.е. линейных уравнений вида (1)).

Обозначим . Тогда данное уравнение можно преобразовать в следующую систему уравнений первого порядка, разрешенных относительно первой производной (форма Коши):

Поэтому, идея применения численных методов для решения уравнения старших порядков, в принципе, ничем не отличается от идеи численного решения уравнения первого порядка, которые рассматривались в лабораторной работе №10.

Нетрудно расширить применение описанной выше методики на случай системы линейных уравнений. В примерах 2 и 3 представлены реализации метода Эйлера в рамках векторной процедуры и с помощью программы-функции. В обоих случаях получены одинаковые результаты, которые поверяются по полученному ранее (см. пример 1) аналитическому решению. Решение приближенное и точное сильно отличаются и величина относительной ошибки (для выбранного шага) составляет ~13%. Пример 3 нетрудно оптимизировать и придать ему более компактный вид, считая начальные условия и правые части системы уравнений компонентами некоторых векторов. Также допустима доработка программы-функции на случай любого числа уравнений путем изменения числа аргументов программы-функции, а также числа строк в программе: в задании начальных условий и в цикле вычисления массива решений.

Аналогично методу Эйлера векторная и программная реализации вычислений по методу Рунге-Кутта могут быть распространены на случай решения системы дифференциальных уравнений. Прямое решение задачи в этом случае представляется достаточно громоздким и желательно предусмотреть расчета констант метода в рамках внутренних циклов. В пакете MathCAD имеются встроенные функции, решающие подобные задачи. Так, процедуру расчета приближенного решения по методу Рунге-Кутта решается с помощью функций rkfixed и Rkadapt. Пример решения той же системы дифференциальных уравнений дан в примере 4. Отличие в точности полученных решений для данного дифференциального уравнения невелико, однако, если решением дифференциального уравнения является сильно осциллирующая функция, то метод с переменным шагом обеспечивает большую точность.


Примеры решения различных уравнений с помощью компьютерного пакета MathCAD.

Пример №1

Пример №2

Пример №3

Пример №4

*


Задание к контрольной роботе:

Дифференцируем левые части уравнения методом Лапласа, а затем суммируем их.


Заменяя функцию y(x) на Y, получим выражение, которое потом упрощаем с помощью функции collect.

Находим правую часть уравнения таким же способом

Получаем исходное алгебраическое уравнение которое решаем в символьном виде:

Решение уравнения

Теперь выполняем обратное преобразование и находим решение исходной дифференциальной задачи

Ответ

.


Проводим проверку правильности начальных условий, используя функцию subtitute

Графическое представление результатов решения:


Информация о работе «Методы и алгоритмы компьютерного решения дифференциальных уравнений»
Раздел: Информатика, программирование
Количество знаков с пробелами: 12056
Количество таблиц: 47
Количество изображений: 3

Похожие работы

Скачать
31319
15
25

... при финансовой поддержке государственной научно-технической программы «Физика квантовых и волновых процессов» (проект 1.61) и физического учебно-научного центра «Фундаментальная оптика и спектроскопия». 1. Асимптотическое поведение решений дифференциальных уравнений с малым параметром Многие колебательные системы описываются дифференциальными уравнениями с малым параметром при производных: ...

Скачать
39446
2
12

... пакетах.   Заключение   Результатом выполнения курсового проекта является готовый программный продукт, позволяющий решать задачу Коши для системы дифференциальных уравнений при помощи неявной схемы Адамса 3-го порядка, демонстрирующий возможности численного решения поставленной задачи с заданной степенью точности. Готовый программный продукт может найти широкое применение при решении многих ...

Скачать
103587
0
24

... + 1 надо подставить y = y - 1 end while finish Удаление невидимых линий и поверхностей Задача удаления невидимых линий и поверхностей является одной из наиболее сложных в машинной графике. Алгоритмыудаления невидимых линий и поверхностей служат для определения линий ребер, поверхностей или объемов, которые видимы или невидимы для наблюдателя, находящегося в заданной точке пространства. 3.1 ...

Скачать
57698
75
8

... ^у^е^о ^ с^-^. Итак решение по Ритцу: ^-i-^ Сравнительная таблица имеет вид: Л. 0 0,5 1 1,5 2 у^ 0 -0,275 -0,3571 -0,2758 0 ^г) о -0,2126 -0,3520 -0,3258 0 50 3.6. Об одном подходе к решению нелинейных вариационных задач В отличии от метода Ритца, искомую функцию в двуточечной вариа­ционной задаче зададим в виде: r-^^f^-^^ При этом граничные условия и{а ) = ...

0 комментариев


Наверх