Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Метод Эйлера решения задачи Коши
Рассмотрим дифференциальное уравнение . (1.1) Предположим, что функция дифференцируема в некоторой окрестности точки . Задача Коши для дифференциального уравнения (1.1) формулируется следующим образом: найти решение уравнения (1.1), удовлетворяющее условию . Предположим, что известно решение в точке и требуется найти , где – шаг интегрирования. Согласно формуле Ньютона – Лейбница, очевидным является следующее равенство . Запишем его следующим образом . Учитывая уравнение (1.1), последнее равенство можно записать в виде . (1.2) Интеграл в правой части выражения (1.2) приближенно можно вычислить, используя формулу прямоугольников: . Здесь . Отбрасывая члены порядка и полагая , , получаем известную формулу Эйлера , . (1.3) Аналогичный результат можно получить и другим способом. Для этого разложим функцию в ряд Тейлора в окрестности точки , в результате получим (1.4) или . В последнем выражении ограничимся двумя первыми слагаемыми в правой части. В результате получаем , . Полагаем, что решение в точке известно. Тогда решение в точке можно найти, используя последнюю формулу и учитывая, что : (1. ) или , . Начинать вычислительный процесс необходимо с точки, определяющей начальные условия, то есть . Вычислительный процесс, построенный по формуле (1.3), имеет локальную погрешность, пропорциональную . Это означает, что на каждом шаге интегрирования имеет место погрешность порядка . Соответственно, при увеличении времени интегрирования общая погрешность решения дифференциального уравнения возрастает. Повысить точность получаемых результатов можно, если учитывать большее количество членов разложения функции в ряд Тейлора. Однако, для этого необходимо последовательно дифференцировать правую часть дифференциального уравнения (1.1). Рассмотрим это на конкретном примере. Учтем первые четыре члена в ряде Тейлора, в результате получим . Как и ранее, полагаем, что решение в точке найдено. Выбирая достаточно малый шаг , находим решение в следующей точке . Для реализации этой формулы необходимо знать производные искомого решения , , . Первая производная может быть найдена из дифференциального уравнения (1.1). Это есть его правая часть, . Вторую и третью производные решения – , – можно найти, дифференцируя правую часть уравнения (1.1), рассматривая ее, как сложную функцию. Соответственно имеем , , (1.5) Как видим, такой путь повышения локальной точности решения дифференциального уравнения (1.1) является трудоемким. Точность вычислений можно повысить при заданном шаге интегрирования и другими способами. В формуле (1.2) интеграл вычисляется по формуле прямоугольников. Вычислим этот интеграл, используя формулу трапеций. В результате будем иметь . По формуле Тейлора, справедливо равенство . Отбрасывая в последнем выражении члены порядка , и полагая (1.6) Здесь . Погрешность, которая обеспечивается этими формулами, имеет порядок . Формулы (1.6) называются формулами Эйлера – Коши.
1.2. Методы Рунге – Кутта
Полагаем, что функция имеет непрерывные частные производные до -го порядка включительно, тогда решение задачи Коши для уравнения (1.1) будет обладать непрерывными производными до -го порядка включительно. Если значение известно в точке , то справедливо равенство (1.7) Как уже отмечалось, значения входящих в данную формулу производных вычисляются последовательным дифференцированием уравнения (1.1), что является достаточно трудоемким процессом. Для сокращения вычислительной работы Рунге предложил искать значение в виде , (1.8) где , , , … , ; ; – некоторые постоянные параметры. Формула Эйлера (1.3) представляет собой частный случай формулы (1.7) при , а формулы (1.6) – при . Рассмотрим вопрос о выборе параметров , , . Для простоты ограничимся случаем . Введем обозначения . (1.9) – ошибка, которая имеет место на шаге интегрирования для получения , при известном . Из выражения (1.7) следует, что . (1.10) Учитывая соотношения (1.5), из равенства (1.9) имеем , , Приведенные выше условия (1.10) будут выполняться, если справедлива следующая система равенств поскольку , , , , , . Это – система из шести уравнений с восемью неизвестными, имеющая бесконечное множество решений. Наиболее употребительное решение системы (1.16) , , , , , , , . Эти решения порождают следующие расчетные формулы , , (1.11) . Соответственно, . (1.12) Вычислительная схема, реализуемая по формулам (1.11), (1.12) называется методом Рунге-Кутта 3-го порядка. При получаем наиболее распространенную вычислительную схему метода Рунге-Кутта (1.13) где Еще раз отметим, что на каждом шаге интегрирования по методам Рунге-Кутта, согласно формуле (1.8) имеем локальную точность вычислений порядка . Рассмотренные методы интегрирования дифференциального уравнения являются одношаговыми. То есть для построения решения на следующем шаге необходимо знать информацию о значении решения только на предыдущем шаге. Более быстродействующими являются многошаговые методы. Они используют информацию о поведении решения в нескольких предыдущих точках: .
|