![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Для уменьшения погрешности вычислений часто используется модифицированный метод Эйлера. Этот метод имеет так же следующие названия: метод Эйлера-Коши или метод Рунге-Кутта второго порядка точности.
Пусть дано дифференциальное уравнение первого порядка
с начальным условием
y(x0) = y0.
Выберем шаг h и введём обозначения:
xi = x0 + i.h и yi = y(xi), где i = 0, 1, 2, …,
xi – узлы сетки,
yi- значение интегральной функции в узлах.
При использовании модифицированного метода Эйлера шаг h делится на два отрезка.
Иллюстрации к решению приведены на рисунке 4.
![]() |
![]() |
Рисунок 4. Метод Эйлера модифицированный.
Проведем решение в несколько этапов.
1. Обозначим точки: A(xi, yi), C(xi+h/2, yi+h/2*f(xi,yi)) и B(xi+1, yi+1).
2. Через точку А проведем прямую под углом α, где
3. На этой прямой найдем точку C(xi+h/2, yi+h/2*f(xi,yi)).
4. Через точку С проведем прямую под углом α1, где
5. Через точку А проведем прямую, параллельную последней прямой.
6. Найдем точку В(xi+1, yi+1). Будем считать В(xi+1, yi+1) решением дифференциального уравнения при x=xi+1.
7. После проведения вычислений, аналогичных вычислениям, описанным в методе Эйлера, получим формулу для определения значения yi+1:
.
Модифицированный метод Эйлера дает меньшую погрешность. На рисунке 4 это хорошо видно. Так величина ε1 характеризует погрешность метода Эйлера, а ε – погрешность метода Эйлера модифицированного.
Блок-схема процедуры решения дифференциального уравнения методом Эйлера модифицированным приведена на рисунке 5.
Рисунок 5. Блок-схема процедуры решения дифференциального уравнения методом Эйлера модифицированным.
4.5 Метод Рунге – Кутта 4-го порядка
Пусть дано дифференциальное уравнение первого порядка
с начальным условием
y(x0) = y0.
Выберем шаг h и введём обозначения:
xi = x0 + i.h и yi = y(xi), где i = 0, 1, 2, ….
Аналогично описанным выше методам производится решение дифференциального уравнения. Отличие состоит в делении шага на 4 части.
Согласно методу Рунге – Кутта четвёртого порядка, последовательные значения y i искомой функции y определяются по формуле:
где
, i = 0, 1, 2, …
а числа k1(i), k2(i), k3(i), k4(i) на каждом шаге вычисляются по формулам:
Это явный четырёхэтапный метод четвёртого порядка точности.
Методы Рунге – Кутта легко программируются и обладают значительной точностью и устойчивостью для широкого круга задач.
На рисунке 6 приведена блок-схема процедуры RUNGE(X0, XK, Y0, N, Y) для решения задачи Коши описанным выше методом Рунге – Кутта.
RUNGE4(X0, XK, Y0, N, Y)
|
i = 0, …, N-1
x = X0 + i * h
K1 = h * F(x, Yi)
K2 = h * F(x + h/2, Yi + K1 / 2)
K3 = h * F(x + h/2, Yi + K2 / 2)
K4 = h * F(x + h, Yi + K3)
K = (K1 + 2*K2 + 2*K3 + K4) / 6
Yi+1 = Yi + K
End
Рисунок 6. Блок-схема процедуры RUNGE
На рисунке 7 приведена блок-схема алгоритма основной программы для решения задачи Коши и получения результатов с фиксированным количеством отрезков разбиения N. В основной программе происходит обращение к процедуре RUNGE(X0, XK, Y0, N, Y), вычисляющей значения искомой функции yj в точках xj методом Рунге – Кутта.
Исходными данными в данной задаче являются:
X0, XK – начальное и конечное значения независимой переменной;
Y0 – значение y0 из начального условия y(x0) = y0;
N – количество отрезков разбиения.
Результаты работы программы выводятся в виде двух столбцов:
X – массив значений узлов сетки;
Y – массив значений искомого решения в соответствующих узлах сетки.
Ввод X0, XK, Y0, N
RUNGE(X0, XK, Y0, N, Y)
h = (XK – X0) / N
i = 0 … N
X = X0 + i * h
Вывод X, Yi
End
Рисунок 7. Блок-схема алгоритма основной программы для решения задачи Коши с фиксированным количеством отрезков разбиения N
Дата публикования: 2015-04-10; Прочитано: 1214 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!