Практическая работа решение дифференциальных уравнений. Содержание практической работы. Решение интеграла дифференциального уравнения классическим методом Рунге кутты четвертого порядка
![]()
|
Содержание практической работы: Теоретическая часть. Решение интеграла дифференциального уравнения классическим методом Рунге- Кутты четвертого порядка. Используемая литература. Теоретическая часть. Методы Рунге- Кутты- большой класс численных методов решения задачи Коши для обыкновенных дифференциальных уравнений и их систем. Первые методы данного класса были предложены около 1900 года немецкими математиками К. Рунге и М. В. Куттой. К классу методов Рунге- Кутты относятся явный метод Эйлера и модифицированный метод Эйлера с пересчётом, которые представляют собой соответственно методы первого и второго порядка точности. Существуют стандартные явные методы третьего порядка точности, не получившие широкого распространения. Наиболее часто используется и реализован в различных математических пакетах (Maple, MathCAD, Maxima) классический метод Рунге- Кутты, имеющий четвёртый порядок точности. При выполнении расчётов с повышенной точностью всё чаще применяются методы пятого и шестого порядков точности. Построение схем более высокого порядка сопряжено с большими вычислительными трудностями. Методы седьмого порядка должны иметь по меньшей мере девять стадий, а методы восьмого порядка — не менее 11 стадий. Для методов девятого и более высоких порядков (не имеющих, впрочем, большой практической значимости) неизвестно, сколько стадий необходимо для достижения соответствующего порядка точности. Обыкновенное дифференциальное уравнение (ОДУ)- это дифференциальные уравнения для функции от одной переменной. (Этим оно отличается от уравнения в частных производных, где неизвестная — это функция нескольких переменных.) Таким образом, ОДУ- это уравнения вида:{\displaystyle F(x,y,y',y'',…,y^{(n)})=0,\qquad (1)} ![]() Где y(x) {\displaystyle y(x)} - неизвестная функция, зависящая от независимой переменной {\displaystyle x}x, штрих означает дифференцирование по x{\displaystyle x}. Число n{\displaystyle n} (порядок старшей производной, входящей в данное уравнение) называется порядком дифференциального уравнения). Классический метод Рунге- Кутты четвертого порядка. Метод Рунге — Кутты четвёртого порядка при вычислениях с постоянным шагом интегрирования столь широко распространён, что его часто называют просто методом Рунге — Кутты. Рассмотрим задачу Коши для системы обыкновенных дифференциальных уравнений первого порядка. (Далее ![]() ![]() Тогда приближенное значение в последующих точках вычисляется по итерационной формуле: ![]() Вычисление нового значения проходит в четыре стадии: ![]() ![]() ![]() ![]() Где{\displaystyle h} ![]() ![]() Этот метод имеет четвёртый порядок точности. Это значит, что ошибка на одном шаге имеет порядок ![]() ![]() Явные методы Рунге- Кутты. Семейство явных методов Рунге — Кутты является обобщением как явного метода Эйлера, так и классического метода Рунге — Кутты четвёртого порядка. Оно задаётся формулами:{\displaystyle {\textbf {y}}_{n+1}={\textbf {y}}_{n}+h\sum _{i=1}^{s}b_{i}{\textbf {k}}_{i},} ![]() Где ![]() ![]() ![]() ![]() ![]() ![]() ![]() Конкретный метод определяется числом ![]() ![]()
Для коэффициентов метода Рунге- Кутты должны быть выполнены условия ![]() ![]() ![]() ![]() Где{\displaystyle {\bar {\textbf {y}}}(h+x_{0})} ![]() Неявные методы Рунге- Кутты. Все до сих пор упомянутые методы Рунге- Кутты являются явными методами. К сожалению, явные методы Рунге- Кутты, как правило, непригодны для решения жестких уравнений из-за малой области их абсолютной устойчивости. Неустойчивость явных методов Рунге- Кутты создаёт весьма серьёзные проблемы и при решении дифференциальных уравнений в частных производных. Неустойчивость явных методов Рунге- Кутты мотивировала развитие неявных методов. Неявный метод Рунге- Кутты имеет вид: ![]() Где ![]() Явный метод характерен тем, что матрица коэффициентов {\displaystyle a_{ij}} для него имеет нижний треугольный вид (включая и нулевую главную диагональ)- в отличие от неявного метода, где матрица имеет произвольный вид. Это также видно по таблице Батчера.
= {\displaystyle {\begin{array}{c|cccc}c_{1}&a_{11}&a_{12}&\dots &a_{1s}\\c_{2}&a_{21}&a_{22}&\dots &a_{2s}\\\vdots &\vdots &\vdots &\ddots &\vdots \\c_{s}&a_{s1}&a_{s2}&\dots &a_{ss}\\\hline &b_{1}&b_{2}&\dots &b_{s}\\\end{array}}={\begin{array}{c|c}\mathbf {c} &A\\\hline &\mathbf {b^{T}} \\\end{array}}}Следствием этого различия является необходимость на каждом шагу решать систему уравнений для ![]() ![]() С другой стороны, Жан Кунцман (1961) и Джон Батчер (1964) показали, что при любом количестве стадий {\displaystyle s} существует неявный метод Рунге- Кутты с порядком точности ![]() Неявные метод Рунге- Кутты второго порядка. Простейшим неявным методом Рунге- Кутты является модифицированный метод Эйлера «с пересчётом». Он задаётся формулой: ![]() {\displaystyle {\mathbf {y} }_{n+1}={\mathbf {y} }_{n}+h{\frac {{\mathbf {f} }(x_{n},{\mathbf {y} }_{n})+{\mathbf {f} }(x_{n+1},{\mathbf {y} }_{n+1})}{2}}}Для его реализации на каждом шаге необходимы как минимум две итерации (и два вычисления функции). Прогноз: ![]() {\displaystyle {\tilde {\mathbf {y} }}_{n+1}={\mathbf {y} }_{n}+h{\mathbf {f} }(x_{n},{\mathbf {y} }_{n})}Коррекция: ![]() {\displaystyle {\mathbf {y}}_{n+1}={\mathbf {y}}_{n}+h{\frac {{\mathbf {f}}(x_{n},{\mathbf {y}}_{n})+{\mathbf {f}}(x_{n+1},{\tilde {\mathbf {y}}}_{n+1})}{2}}}Вторая формула- это простая итерация решения системы уравнений относительно ![]() ![]() Устойчивость. Преимуществом неявных методов Рунге- Кутты в сравнении с явными является их большая устойчивость, что особенно важно при решении жестких уравнений. Рассмотрим в качестве примера линейное уравнение ![]() ![]() ![]() ![]() {\displaystyle r(z)=1+zb^{T}(I-zA)^{-1}e={\frac {\det(I-zA+zeb^{T})}{\det(I-zA)}},}где ![]() ![]() ![]() ![]() ![]() ![]() ![]() Численное решение данного примера дает чистый ноль при условии ![]() ![]() ![]() ![]() Если метод имеет порядок ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Решение интеграла дифференциального уравнения классическим методом Рунге- Кутты четвертого порядка. Вычислим классическим методом Рунге- Кутты четвертого порядка интеграл дифференциального уравнения ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Произведем точное решение дифференциального уравнения: ![]() ![]() Полученные точное и численное значения совпали до пятого десятичного знака. Используемая литература. Ильина В.А., Силаев П.К. «Численные методы для физиков- теоретиков» часть 2, Москва- Ижевск: Институт компьютерных исследований, 2004год. |