Название: вычислительная математика (В.В. Ландовский)

Жанр: Педагогика

Просмотров: 1643


Лабораторная работа №7 численное решение дифференциальных уравнений

Цель работы

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

Обыкновенные дифференциальные уравнения

Дифференциальные уравнения - это уравнения, в которых неизвестными являются не переменные (т. е. числа), а функции одной или нескольких переменных. Эти уравнения (или системы) включают соотношения между искомыми функциями и их производными. Если в уравнения входят производные только по одной переменной, то они называются обыкновенными дифференциальными уравнениями (ОДУ). В противном случае говорят об уравнениях в частных производных. Таким образом, решить дифференциальное уравнение – значит определить неизвестную функцию на определенном интервале изменения ее переменных.

Как известно, одно обыкновенное дифференциальное уравнение или система ОДУ имеет единственное решение, если помимо уравнения определенным образом заданы начальные или граничные условия. В соответствующих курсах высшей математики доказываются теоремы о существовании и единственности решения в зависимости от тех или иных условий. Имеются два типа задач:

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

2. краевые задачи - для которых заданы определенные соотношения сразу на обеих границах интервала.

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

Методы Рунге-Кутта

Методы Рунге — Кутта обладают следующими отличительными свойствами:

1. Эти методы являются одноступенчатыми: чтобы найти , нужна информация только о предыдущей точке .

2. Они согласуются с рядом Тейлора вплоть до членов порядка , где степень различна для различных методов и называется порядком метода.

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

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

Как можно заранее предположить, различные методы этой категории требуют большего или меньшего объема вычислений и соответственно обеспечивают большую или меньшую точность. Для того чтобы рассмотреть сущность этих методов, рассмотрим сначала один из них, известный под названием метода Эйлера. Этот метод очень редко применяется на практике, но, как и в случае рядов Тейлора, является отправной точкой для дальнейшего изложения.

Метод Эйлера

Предположим, что нам известна точка , на искомой кривой. Тогда мы можем провести прямую линию с тангенсом угла наклона ,

которая пройдет через точку , . Это построение показано на рис. 7.1, где кривая представляет собой точное, но, конечно, неизвестное решение уравнения, а прямая линия  построена так, как это только что описано. Тогда следующей точкой решения можно считать ту, где прямая  пересечет ординату, проведенную через точку .

Уравнение прямой  выглядит так:

,

но ведь , и кроме того, , так что

.         7.1

Ошибка при  показана в виде отрезка .

Рисунок 7.1 Геометрическое представление метода Эйлера.

Формула (7.1) описывает метод Эйлера, один из самых старых и широко известных методов численного интегрирования дифференциальных уравнений.

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

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

Исправленный метод Эйлера

В исправленном методе Эйлера мы находим средний тангенс угла наклона касательной для двух точек: ,  и , . Последняя точка есть та самая, которая в методе Эйлера обозначалась , . Геометрически процесс нахождения точки ,  можно проследить по рис. 7.2. С помощью метода Эйлера находится точка , , лежащая на прямой. В этой точке снова вычисляется тангенс угла наклона касательной, на рисунке этому значению соответствует прямая. Усреднение двух тангенсов дает прямую. Наконец, через точку ,  мы проводим прямую , параллельную . Точка, в которой прямая  пересечется с ординатой, восстановленной из , и будет искомой точкой , .

Рисунок 7.2 Геометрическое представление исправленного метода Эйлера.

Тангенс угла наклона прямой  и прямой  равен

,         где .

Уравнение линии  при этом записывается в виде

,

так что

.     7.2

Соотношение  (7.2) описывает исправленный метод Эйлера.

Как видим, исправленный метод Эйлера согласуется с разложением в ряд Тейлора вплоть до членов степени , являясь, таким образом, методом Рунге-Кутта второго порядка. При использовании этого метода функцию  приходится вычислять дважды — в точке ,  и в точке , .

Модифицированный метод Эйлера

В исправленном методе Эйлера усреднялись наклоны касательных. Можно пойти по другому пути и усреднять точки в следующем смысле. Рассмотрим рис. 7.3, где первоначальное построение сделано точно так же, как и на рис. 7.1 – через точку ,  проведена прямая  с тангенсом угла наклона, равным .

Но на этот раз мы берем точку, лежащую на пересечении этой прямой и ординаты . На рисунке эта точка обозначена через , а ее ордината равна . Вычислим тангенс угла наклона касательной в этой точке

, где  .

Прямая с таким наклоном, проходящая через , обозначена через . Вслед за тем, мы проводим через точку ,  прямую, параллельную , и обозначаем ее через . Пересечение этой прямой с ординатой  и даст искомую точку , .Уравнение прямой  можно записать в виде.

Рисунок 7.3 Геометрическое представление модифицированного метода Эйлера.

.             7.3

Соотношение (7.3) описывает так называемый модифицированный метод Эйлера. Этот метод согласуется с разложением в ряд Тейлора вплоть до членов степени  и является поэтому еще одним методом Рунге-Кутта второго порядка.

Метод Рунге-Кутта четвертого порядка точности

Наиболее популярен алгоритм Рунге-Кутта четвертого порядка, описанный в большинстве книг по методам вычислений. Он обеспечивает малую погрешность для широкого класса систем ОДУ и, при этом, довольно экономичен (на каждом шаге интегрирования требуется вычисление четырех значений функции ):

В этом методе величины  вычисляются по следующим формулам:

                                   

                

Задание

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

Варианты правой части  и точные решения  с соответствующими начальными условиями  приведены табл. 7.2.

Таблица 7.1 Методы решения ОДУ

Вариант

Методы

1

Эйлера, исправленный Эйлера

2

Эйлера, модифицированный Эйлера

3

Эйлера, Рунге-Кутта четвертого порядка

4

Исправленный Эйлера, модифицированный Эйлера

5

Рунге-Кутта четвертого порядка, модифицированный Эйлера

6

Рунге-Кутта четвертого порядка, исправленный Эйлера

 

 

Таблица 7.2 Варианты задачи Коши

Вариант

Точное решение

1

2

3

4

5

6

 

Таблица 7.3 Представление результатов

метод 1

метод 2

точное

1

 

 

 

 

 

 

 

 

 

Содержание отчета

Цель работы.

Блок-схемы алгоритмов.

Пример работы программы.