Файл: Учебнометодическое пособие для выполнения лабораторных работ Волгоград, 2019 удк 519. 6(075. 8) Ббк в19я7 Печатается по решению редакционноиздательского совета Волгоградского государственного университета.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 04.12.2023
Просмотров: 150
Скачиваний: 3
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
СОДЕРЖАНИЕ
1. ЦЕЛЬ И ЗАДАЧИ ОСВОЕНИЯ ДИСЦИПЛИНЫ
2.1 Лабораторная работа 1. «Теория погрешностей и машинная арифметика»
2.2 Лабораторная работа 2. « Решение нелинейных уравнений»
2) Расчетные формулы методов решения нелинейного уравнения .
2.3 Лабораторная работа 3. « Интерполирование функций»
2.6 Лабораторная работа 6. «Методы численного интегрирования функций»
8.(б) 8.(в)
9.(а) 9.(б) 9.(в)
2.7 Лабораторная работа 7. «Метод Рунге-Кутта для системы дифференциальных уравнений».
Цель: ознакомление с методами численного решения системы дифференциальных уравнений.
Порядок выполнения работы
Уравнения, содержащие производные функции, возникают во многих областях прикладной математики. Вообще говоря, любая физическая ситуация, где рассматривается степень изменения одной переменной по отношению к другой переменной, описывается дифференциальным уравнением.
Существует множество приемов для нахождения решений дифференциальных уравнений через элементарные и специальные функции. Но тем не менее очень часто в практических задачах такие методы или вообще не применимы, или приводят к таким сложным решениям, что затраты труда на их получение огромны.
Поэтому мы вынуждены обратиться к методам решения, которые могут пригодиться тогда, когда классические методы не срабатывают.
Конкретная прикладная задача может приводить к дифференциальному уравнению любого порядка или к системе уравнений любого порядка. Но известно, что обыкновенное уравнение N-го порядка можно свести к эквивалентной системе N уравнений первого порядка. Поэтому рассмотрим систему N уравнений первого порядка:
,
, .
Система уравнений (1) имеет множество решений, которое в общем случае зависит от N параметров
и может быть записано в форме . Для определения значений этих параметров, т.е. для выделения нужного решения, надо наложить N дополнительных условий на функции .
Различают три основных типа задач для обыкновенных дифференциальных уравнений: задачи Коши, краевые задачи, задачи на собственные значения.
Задача Коши (задача с начальными условиями) имеет дополнительные условия вида:
, ,
т.е. заданы значения всех функций в одной и той же точке. Решение при этом требуется найти на некотором отрезке (или ).
Следует отметить, что если правые части уравнения (1) непрерывны и ограничены в некоторой окрестности начальной точки , то задача Коши имеет решение, но, вообще говоря, не единственное. Если правые части не только непрерывны, но и удовлетворяют условию Липшица по переменным , то решение задачи Коши единственно и непрерывно зависит от координат начальной точки, т.е. задача корректно поставлена.
Классы уравнений, для которых разработаны аналитические методы получения точных решений, сравнительно узки и охватывают только малую часть возникающих на практике задач. Например, решение несложного уравнения
не выражается через элементарные функции. А уравнение
можно точно проинтегрировать и найти общее решение
.
Однако для того, чтобы составить таблицу значений , надо численно решить трансцендентное уравнение, что ничуть не проще численного интегрирования уравнения.
Численные методы решения дифференциального уравнения – это алгоритмы вычисления приближенных значений искомого решения
на некоторой выбранной сетке аргумента . Решение при этом получается в виде таблицы. Численные методы не позволяют найти общего решения уравнения. Они дают какое-то частное решение. Это основной недостаток численных методов. Зато эти методы применимы к очень широким классам уравнений и всем типам задач для них.
В основном существуют два широких класса численных методов решения: одноступенчатые и многоступенчатые методы. Одноступенчатые методы используют информацию об искомом решении в одной точке и не производят итераций. К методам этого класса принадлежит и метод Рунге-Кутта. Эти методы являются прямыми (без итераций), что, казалось бы, должно привести к экономии машинного времени, но в действительности эти методы требуют многократных повторных вычислений функции . Кроме того, эти методы имеют тот недостаток, что при их использовании трудно оценивать допускаемую ошибку.
Многоступенчатые методы позволяют получить решение дифференциального уравнения в следующей точке, но не производя так много вычислений функции , как при использовании одноступенчатых методов. Здесь для достижения достаточной точности требуются итерации. Большинство методов этого класса называются методами прогноза и коррекции. Хотя и имеются некоторые трудности, связанные с использованием итерационной процедуры и с получением нескольких начальных точек решения , но они уравновешиваются тем фактом, что оценку ошибки при использовании этого метода легко получить в качестве побочного продукта вычислений.
Численные методы можно применять только к конкретно поставленным задачам. Нужно чтобы малые изменения начальных условий приводили бы к достаточно малому изменению интегральных кривых. Если это условие не выполняется, то небольшие изменения начальных условий или эквивалентные этим изменениям небольшие погрешности численного метода могут сильно исказить решение.
Рассмотрим теперь, как решается методом Рунге-Кутта задача Коши. Построим семейство схем второго порядка точности и на его примере разберем основные идеи метода. Выберем на отрезке
некоторую сетку: значений аргумента так, чтобы выполнялись соотношения (сетка может быть неоднородной). Разлагая решение системы уравнений (2) в ряд Тейлора на интервале сетки , получим:
Здесь введены обозначения: ,
.
Чтобы избежать дифференцирования функции ,заменим производную разностью:
,
соответственно выбирая .
После такой замены, объединяя одинаковые члены, приближенное решение (отбрасываем члены третьего порядка и выше по шагу) можно записать в виде:
Для простоты в формуле полагалось, что сетка является равномерной с шагом h. Здесь --- параметры, значения которых выбираем таким образом, чтобы минимизировать ошибку метода Рунге---Кутта на каждом шаге . Рассматривая правую часть соотношения как функцию от h, разложим ее в ряд по степеням шага в окрестности точки :
.
С другой стороны, для точного решения дифференциального уравнения имеем:
.
Оценим погрешность приближенного решения, полученного методом Рунге-Кутта второго порядка точности на одном шаге.
Чтобы получить схему Рунге-Кутта 2-го порядка точности, необходимо обнулить коэффициенты в 1-ом и 2-ом членах соотношения:
Выражая через остальные параметры и подставляя их, получим однопараметрическое семейство схем Рунге-Кутта 2-го порядка точности:
, где
Формула имеет неплохую точность и нередко используется в численных расчетах. При этом обычно полагают либо , либо . Эти два случая часто называют улучшенными (модифицированными) методами Эйлера.
Методом Рунге-Кутта можно строить схемы различного порядка точности. Например, схема ломаных (метод Эйлера) есть схема Рунге-Кутта первого порядка точности. Наиболее употребительными в вычислительной практике являются схемы четвертого порядка точности. Приведем без вывода одну из них, которая записана в большинстве стандартных программ ЭВМ:
Схемы Рунге-Кутта имеют ряд важных достоинств:
Встречаются задачи, в которых функции являются достаточно гладкими, но настолько быстро меняющимися, что схема Рунге-Кутта как низкого, так и высокого порядка точности требуют неприемлемо малого шага для получения удовлетворительного результата. Такие задачи
9.(а) 9.(б) 9.(в)
2.7 Лабораторная работа 7. «Метод Рунге-Кутта для системы дифференциальных уравнений».
Цель: ознакомление с методами численного решения системы дифференциальных уравнений.
Порядок выполнения работы
-
Теоретическая часть-
Основные определения
-
Уравнения, содержащие производные функции, возникают во многих областях прикладной математики. Вообще говоря, любая физическая ситуация, где рассматривается степень изменения одной переменной по отношению к другой переменной, описывается дифференциальным уравнением.
Существует множество приемов для нахождения решений дифференциальных уравнений через элементарные и специальные функции. Но тем не менее очень часто в практических задачах такие методы или вообще не применимы, или приводят к таким сложным решениям, что затраты труда на их получение огромны.
Поэтому мы вынуждены обратиться к методам решения, которые могут пригодиться тогда, когда классические методы не срабатывают.
Конкретная прикладная задача может приводить к дифференциальному уравнению любого порядка или к системе уравнений любого порядка. Но известно, что обыкновенное уравнение N-го порядка можно свести к эквивалентной системе N уравнений первого порядка. Поэтому рассмотрим систему N уравнений первого порядка:
,
, .
Система уравнений (1) имеет множество решений, которое в общем случае зависит от N параметров
и может быть записано в форме . Для определения значений этих параметров, т.е. для выделения нужного решения, надо наложить N дополнительных условий на функции .
Различают три основных типа задач для обыкновенных дифференциальных уравнений: задачи Коши, краевые задачи, задачи на собственные значения.
Задача Коши (задача с начальными условиями) имеет дополнительные условия вида:
, ,
т.е. заданы значения всех функций в одной и той же точке. Решение при этом требуется найти на некотором отрезке (или ).
Следует отметить, что если правые части уравнения (1) непрерывны и ограничены в некоторой окрестности начальной точки , то задача Коши имеет решение, но, вообще говоря, не единственное. Если правые части не только непрерывны, но и удовлетворяют условию Липшица по переменным , то решение задачи Коши единственно и непрерывно зависит от координат начальной точки, т.е. задача корректно поставлена.
Классы уравнений, для которых разработаны аналитические методы получения точных решений, сравнительно узки и охватывают только малую часть возникающих на практике задач. Например, решение несложного уравнения
не выражается через элементарные функции. А уравнение
можно точно проинтегрировать и найти общее решение
.
Однако для того, чтобы составить таблицу значений , надо численно решить трансцендентное уравнение, что ничуть не проще численного интегрирования уравнения.
Численные методы решения дифференциального уравнения – это алгоритмы вычисления приближенных значений искомого решения
на некоторой выбранной сетке аргумента . Решение при этом получается в виде таблицы. Численные методы не позволяют найти общего решения уравнения. Они дают какое-то частное решение. Это основной недостаток численных методов. Зато эти методы применимы к очень широким классам уравнений и всем типам задач для них.
В основном существуют два широких класса численных методов решения: одноступенчатые и многоступенчатые методы. Одноступенчатые методы используют информацию об искомом решении в одной точке и не производят итераций. К методам этого класса принадлежит и метод Рунге-Кутта. Эти методы являются прямыми (без итераций), что, казалось бы, должно привести к экономии машинного времени, но в действительности эти методы требуют многократных повторных вычислений функции . Кроме того, эти методы имеют тот недостаток, что при их использовании трудно оценивать допускаемую ошибку.
Многоступенчатые методы позволяют получить решение дифференциального уравнения в следующей точке, но не производя так много вычислений функции , как при использовании одноступенчатых методов. Здесь для достижения достаточной точности требуются итерации. Большинство методов этого класса называются методами прогноза и коррекции. Хотя и имеются некоторые трудности, связанные с использованием итерационной процедуры и с получением нескольких начальных точек решения , но они уравновешиваются тем фактом, что оценку ошибки при использовании этого метода легко получить в качестве побочного продукта вычислений.
Численные методы можно применять только к конкретно поставленным задачам. Нужно чтобы малые изменения начальных условий приводили бы к достаточно малому изменению интегральных кривых. Если это условие не выполняется, то небольшие изменения начальных условий или эквивалентные этим изменениям небольшие погрешности численного метода могут сильно исказить решение.
Рассмотрим теперь, как решается методом Рунге-Кутта задача Коши. Построим семейство схем второго порядка точности и на его примере разберем основные идеи метода. Выберем на отрезке
некоторую сетку: значений аргумента так, чтобы выполнялись соотношения (сетка может быть неоднородной). Разлагая решение системы уравнений (2) в ряд Тейлора на интервале сетки , получим:
Здесь введены обозначения: ,
.
Чтобы избежать дифференцирования функции ,заменим производную разностью:
,
соответственно выбирая .
После такой замены, объединяя одинаковые члены, приближенное решение (отбрасываем члены третьего порядка и выше по шагу) можно записать в виде:
Для простоты в формуле полагалось, что сетка является равномерной с шагом h. Здесь --- параметры, значения которых выбираем таким образом, чтобы минимизировать ошибку метода Рунге---Кутта на каждом шаге . Рассматривая правую часть соотношения как функцию от h, разложим ее в ряд по степеням шага в окрестности точки :
.
С другой стороны, для точного решения дифференциального уравнения имеем:
.
Оценим погрешность приближенного решения, полученного методом Рунге-Кутта второго порядка точности на одном шаге.
Чтобы получить схему Рунге-Кутта 2-го порядка точности, необходимо обнулить коэффициенты в 1-ом и 2-ом членах соотношения:
Выражая через остальные параметры и подставляя их, получим однопараметрическое семейство схем Рунге-Кутта 2-го порядка точности:
, где
Формула имеет неплохую точность и нередко используется в численных расчетах. При этом обычно полагают либо , либо . Эти два случая часто называют улучшенными (модифицированными) методами Эйлера.
Методом Рунге-Кутта можно строить схемы различного порядка точности. Например, схема ломаных (метод Эйлера) есть схема Рунге-Кутта первого порядка точности. Наиболее употребительными в вычислительной практике являются схемы четвертого порядка точности. Приведем без вывода одну из них, которая записана в большинстве стандартных программ ЭВМ:
Схемы Рунге-Кутта имеют ряд важных достоинств:
-
все схемы допускают расчет с переменным шагом, нетрудно уменьшить шаг там, где функция быстро меняется, и увеличить его в обратном случае; -
для начала расчета достаточно выбрать сетку и задать значение ; далее вычисления идут по одним и тем же формулам. Шаг сетки следует выбирать настолько малым, чтобы обеспечить требуемую точность расчета. Других ограничений на шаг в методе Рунге-Кутта нет.
Встречаются задачи, в которых функции являются достаточно гладкими, но настолько быстро меняющимися, что схема Рунге-Кутта как низкого, так и высокого порядка точности требуют неприемлемо малого шага для получения удовлетворительного результата. Такие задачи