ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 29.05.2021

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

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Министерство образования Российской Федерации


Воронежский государственный университет


Математический факультет








Численные методы решения обыкновенных дифференциальных уравнений
Методические указания

по курсу «Методы вычислений»

для студентов IV-V курсов

всех форм обучения





Составитель В.П.Трофимов



Воронеж


2002 г.


Настоящие методические указания предназначены для выполнения лабораторной работы «Численные методы решения обыкновенных дифференциальных уравнений» по курсу «Методы вычислений» студентами IV-V курсов дневного и вечернего отделений математического факультета. Разработка может быть использована для самостоятельной работы студентов и подготовке к экзамену.

Разработка представляет собой существенно переработанный и дополненный вариант методических указаний .

Литература.


1. Бахвалов Н.С., Лапин А.В., Чижонков Е.В. Численные методы в задачах и упражнениях. / Под ред. В.А.Садовничего: Учеб. пособие.– М.: Высш. шк., 2000. – 190 с.

2. Арушанян И.О., Чижонков Е.В. Материалы семинарских занятий по курсу «Методы вычислений» / Под ред. О.Б.Арушаняна: Учеб. пособие. – 2-е изд. – М.: Изд-во ЦПИ при механико-математическом ф-те МГУ, 1999. – 96 с.

3. Плис А.И., Сливина Н.А. Лабораторный практикум по высшей математике: Учеб. пособие для втузов. – 2-е изд., перераб. и доп. – М.: Высш. шк., 1994. – 416 с.

4. Хайрер Э., Нёрсетт С., Ваннер Г. Решение обыкновенных дифференциальных уравнений. Нежесткие задачи: Пер. с англ. – М.: Мир, 1990. – 512 с.

5. Аброськина Г.С., Трофимов В.П. Методические указания по методам вычислений и вычислительной практике. Часть III: - Воронеж.: ВГУ, 1989. – 24 с.


1. Постановка задачи.

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

Будем считать, что правая часть дифференциального уравнения удовлетворяет условиям теоремы существования и единственности решения задачи Коши (1).

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

Существует множество методов решения задачи Коши (1). Мы рассмотрим два важнейших класса численных методов: методы, основанные на разложении решения в ряд Тейлора, и методы полиномиальной аппроксимации.

Выберем . Точки называются узлами сетки, а величина - шагом сетки.

2. Метод Тейлора.

Предполагая, что точное решение задачи (1) является аналитической функцией в некоторой окрестности точки , разложим в ряд Тейлора в точке :



Заметим, что и, следовательно,



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


Используя (3), перепишем (2) при , в виде:

где - члены высших порядков. Заменив в (4) на и отбросив , получим алгоритм метода Тейлора


Обычно алгоритм (5) записывают в виде:

где

Метод (6) называют методом Тейлора порядка .

Замечания:

1. Для метода Тейлора порядка остаточный член в формуле (4) имеет вид при . Следовательно, если в алгоритме (6) , то локальная алгоритмическая ошибка метода имеет порядок .

2. Общее количество шагов численного решения задачи (1) на отрезке определяется отношением . При заданной точности приближенного решения число шагов уменьшается с увеличением порядка метода Тейлора. Но увеличение порядка метода приводит к росту числа членов в формуле (7). Для численной реализации алгоритма (6) нужно вычислять значений функции и всех ее частных производных при . Вычисление большого числа частных производных является трудной задачей. Поэтому методы Тейлора выше четвертого порядка в вычислительной практике обычно не используются.

Метод Тейлора первого порядка.

Из формулы (6) при получаем


Этот алгоритм называется явным методом Эйлера. Здесь .

Метод Тейлора второго порядка.

При из формулы (6) получаем



где

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

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


где - константа, не зависящая от . Таким образом, алгоритм метода Рунге-Кутта имеет вид:



где удовлетворяет условию (9). Очевидно, метод (10) имеет ту же алгоритмическую ошибку, что и метод Тейлора. Алгоритм (10) принято называть методом Рунге-Кутта порядка .

Функцию разыскивают в виде:

где

В формулах (11) коэффициенты и находятся из условия (9).

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

При получаем из (11)


Сравнивая с , немедленно получаем из условия (9), что . Таким образом метод Рунге-Кутта первого порядка совпадает с явным методом Эйлера:

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

При получаем из (11)


Разлагая во втором слагаемом в (12) по формуле Тейлора в точке получаем

Подставляя (13) в (12), имеем

С равнивая и (14), получаем из условия (9) нелинейную систему уравнений для определения коэффициентов :



Отсюда следует, что для различных существует целое семейство методов Рунге-Кутта второго порядка с коэффициентами и

:


Приведем примеры алгоритмов метода Рунге-Кутта второго порядка.


Метод Хьюна (модифицированный метод трапеций).

В этом случае , Из (15) получаем алгоритм метода Хьюна

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

В этом случае , Из (15) получаем алгоритм модифицированного метода Эйлера

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

Наиболее часто в вычислительной практике используется метод Рунге-Кутта четвертого порядка, алгоритм которого определяется формулами

где

Отметим, что если правая часть дифференциального уравнения не зависит от , то формула (18) совпадает с квадратурной формулой Симпсона. (Решение задачи Коши равносильно вычислению интеграла ).

Замечание. Метод (18) часто называют просто «методом Рунге-Кутта» без всяких указаний на порядок. Локальная алгоритмическая ошибка этого метода не превосходит , где - константа, не зависящая от . Однако оценить не просто. Это существенный недостаток метода Рунге-Кутта. Грубое оценочное правило выбора шага предложено Коллатцом: если для некоторой точки величина больше нескольких сотых, то шаг уменьшают.


4. Общий одношаговый метод.

Метод, алгоритм которого определяется формулой

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

Очевидно, что методы Тейлора и Рунге-Кутта являются частными случаями общего одношагового метода.

Обозначим через - решение уравнения

с начальным условием .

Теорема (оценка глобальной погрешности общего одношагового метода).

Пусть выполнены следующие условия:

1. Функция определена и непрерывна в области и существует константа , не зависящая от и , такая, что в области

2. Существует константа и целое такие, что в области

где - решение уравнения на отрезке , удовлетворяющее начальному условию .

Тогда для глобальной ошибки метода (19) справедлива оценка


где , -локальная ошибка округления на -ом шаге.

Из (20) следует, что глобальная ошибка общего одношагового метода (19) состоит из трех частей:

  1. ошибка при вычислении начального условия,

2) суммарная алгоритмическая ошибка метода, характеризуемая величиной , убывающая с уменьшением ,

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

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


4. Методы полиномиальной аппроксимации.

Пусть точным решением задачи (1) является полином степени :

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


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

Предупреждение. Не путать порядок метода полиномиальной аппроксимации с порядком метода Тейлора.

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

Общий вид алгоритма метода полиномиальной аппроксимации:

где коэффициентов определяются так, что если точное решение задачи (1) является полиномом степени и если предварительно найденные значения являются точными ( при ), то алгоритм (22) дает точное значение решения . Очевидно, что (число параметров - коэффициентов метода должно быть больше числа коэффициентов полинома (21)).

Найдем условия, которым должны удовлетворять коэффициенты метода полиномиальной аппроксимации порядка .

Семейство задач Коши, решением которых является полином (21), имеет вид

Для удобства вычислений положим . Тогда , . Из (21) и (23) имеем:

Подставляя найденные выражения в (22) и приравнивая коэффициенты при , получим систему уравнений относительно неизвестных :

Система (24) называется условием корректности многошагового метода полиномиальной аппроксимации порядка .

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

Метод полиномиальной аппроксимации (22), коэффициенты которого удовлетворяют условию корректности (24), называют состоятельным.

Метод (22) называется явным, если , и неявным, если .

Локальная алгоритмическая ошибка состоятельного многошагового метода полиномиальной аппроксимации порядка при естественных ограничениях на правую часть дифференциального уравнения определяется выражением

где - константа, не зависящая от , .

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

Метод Адамса-Башфорта (экстраполяционный метод Адамса).

Метод Адамса-Башфорта порядка является явным многошаговым методом полиномиальной аппроксимации, полученным из (22) при условии


то есть

Коэффициенты метода определяются из условия корректности (24). В этом случае (24) примет вид


Определитель этой системы отличен от нуля и, следовательно, существует единственное решение. Таким образом, для любого решение системы (28) однозначно определяет метод Адамса-Башфорта порядка (метод является состоятельным).

Таблица 1. Алгоритмы метода Адамса-Башфорта.

Порядок

Алгоритм

Первый

(явный метод Эйлера)

Второй

Третий

Четвертый


Для численной реализации метода Адамса-Башфорта порядка требуется стартовых значений (метод является - шаговым).

Метод Адамса-Мултона (интерполяционный метод Адамса).

Метод Адамса-Мултона порядка является неявным многошаговым методом полиномиальной аппроксимации, полученным из (22) при условии

то есть

Коэффициенты метода определяются из условия корректности (24). В этом случае (24) примет вид


Определитель этой системы отличен от нуля и, следовательно, существует единственное решение. Таким образом, для любого решение системы (31) однозначно определяет метод Адамса-Мултона порядка (метод является состоятельным).

Для численной реализации метода Адамса-Мултона порядка требуется стартовых значений (метод является - шаговым).


Таблица 2. Алгоритмы метода Адамса-Мултона.

Порядок

Алгоритм

Первый

(неявный метод Эйлера)

Второй

(метод трапеций)

Третий

Четвертый


Связь неявных методов с методами прогноза-коррекции.

Запишем алгоритм (22) неявного многошагового метода полиномиальной аппроксимации в виде

Для определения единственной неизвестной величины получаем из (32) уравнение

где


Пусть удовлетворяет условию Липшица с константой при для всех , , где - точное решение уравнения (33). При выполнении условия


функция в (33) является сжимающим отображением и, следовательно, при любом выборе начального приближения итерационный процесс

при сходится к точному решению уравнения (33).

Отметим, что скорость сходимости (35) становится медленной, если величина будет близка к 1. Поэтому для увеличения скорости сходимости придется выбирать малый шаг . Но это приведет к увеличению числа шагов и ошибок округления. В качестве компромисса предлагается «хорошо» выбирать начальное приближение . Пусть, например, решение задачи (1) находится методом Адамса-Мултона четвертого порядка. Для предсказания можно выбрать явный метод Эйлера (7) (прогноз)

и полученное значение использовать в качестве начального приближения итерационного процесса (35) (коррекция)

Формула (36) дает скорректированное значение после итераций. Число итераций зависит от желаемой точности решения и локальной алгоритмической ошибки прогноза. Если для прогноза выбрать более точный метод