Скачать

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

1. Теоретическая часть

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

1.2 Метод Эйлера

1.3 Общая формулировка методов Рунге-Кутты

1.4 Обсуждение методов порядка 4

1.5 «Оптимальные» формулы

1.6 Условия порядков для методов Рунге-Кутты

1.7 Оценка погрешности и сходимость методов Рунге-Кутты

1.7.1 Строгие оценки погрешности

1.7.2 Главный член погрешности

1.7.3 Оценка глобальной погрешности

1.8 Оптимальный выбор шага

2. Практическая часть

2.1 Описание программы «Ilya RK-4 версия 1.43»

Заключение

Список использованных источников

Приложение А. Графики функций

Приложение Б. Пример таблицы значений функции y(x)

Приложение В. Листинг программы «Ilya RK-4 версия 1.43»


Введение

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

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

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

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

Программная реализация методов Рунге-Кутты четвертого порядка с автоматическим выбором шага представлена в виде программы, написанной на языке высокого уровня BorlandC++ 3.1. Программу можно запускать в среде MS-DOS или Windows® 95/98/Me/2k/XP. В качестве выхода программа пишет таблицу значений в файл на диск и рисует график на экране ЭВМ.

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


1. Теоретическая часть

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

Дано дифференциальное уравнение и начальное условие, то есть поставлена задача Коши:

(2.1.1)

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

1.2 Метод Эйлера

Метод Эйлера для решения начальной задачи (2.1.1) был описан Эйлером в 1768 году. Этот метод весьма прост. Его глобальная погрешность имеет вид , где – постоянная, зависящая от задачи, и – максимальная длина шага. Если желательно, скажем, получить 6 точных десятичных знаков, то требуется, следовательно, порядка миллиона шагов, что не слишком удовлетворительно. С другой стороны, еще со времен Ньютона известно, что можно найти гораздо более точные методы, если не зависит от , то есть если мы имеем задачу (2.1.1), решаемую квадратурой

. (2.2.1)

В качестве примера можно рассмотреть первую квадратурную формулу Гаусса, также называемую «правилом средней точки»:

(2.2.2)

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

. (2.2.3)


Но какое значение взять для ? За неимение лучшего естественно использовать один малый шаг метода Эйлера длины . Тогда из предыдущей формулы получим:

(2.2.4)

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

(2.2.5)

Его можно сравнить с рядом Тейлора для точного решения, который получается из того, что путем повторного дифференцирования с заменой на каждый раз, когда оно появляется:

(2.2.6)


Вычитая из последнего равенства предыдущее, получим для погрешности первого шага выражение

(2.2.7)

Таким образом, если все частные производные второго порядка ограничены, то

.

Чтобы получить приближенное значение решения исходной задачи в конечной точке , будем применять формулы (2.2.4) последовательно к интервалам . Приведенные выше формулы являются усовершенствованным методом Эйлера. Для вычислений с высокой точностью, однако, следует пользоваться другими методами, одним из которых как раз является метод Рунге-Кутты.

1.3 Общая формулировка методов Рунге-Кутты

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

Пусть – целое положительное число (число стадий, этапов) и – вещественные коэффициенты. Тогда метод


(2.3.1)

называется -стадийным явным методом Рунге-Кутты для исходной задачи Коши (2.1.1)

Обычно коэффициенты удовлетворяют условиям

. (2.3.2)

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

Метод Рунге-Кутты имеет порядок , если для достаточно гладких задач (2.1.1) справедливо неравенство

, (2.3.3)

то есть ряды Тейлора для точного решения и для совпадают до члена включительно.

После статьи Бутчера вошло в обычай символически представлять метод (2.3.1) по средствам следующей таблицы: