|
Методы Эйлера и Рунге-Кутта.
Принцип этих методов состоит в переходе от непрерывной искомой функции к дискретной, то есть существующей только для заданных значений аргумента. Значений аргумента не может быть много, так как при вычислениях накапливается ошибка. Шаг ( интервал между смежными значениями аргумента) обычно берется постоянным.
Количество шагов ( ) определяется требуемой точностью.
Метод Эйлераявляется самым простым. Он дает относительно большую погрешность, поэтому практически не применяется. Но позволяет понять принцип методов Рунге-Кутта.
Пусть дано дифференциальное уравнение первого порядка и начальное условие .
Для первого значения аргумента: . Так как искомая функция дискретна, то производную нельзя понимать в полном смысле согласно её определению
, так как приращение аргумента не стремится к нулю, а является шагом вычислений ( ). Поэтому можно записать приближение: . Тогда дифференциальное уравнение принимает вид:
. (4.1.)
Аналогично находят следующие значения функции:
, (4.2.)
По этим формулам находят все значения функции для заданных значений аргумента.
Заметим, что расчетная формула является рекуррентной, то есть, чтобы найти значение надо знать предыдущее значение . И, следовательно, ошибка, допущенная при вычислении автоматически переходит в результат вычисления .
Метод Рунге-Куттапозволяет вычислитьзначения функции более точно. Его можно представить рекуррентными формулами нескольких порядков. Формулы более высокого порядка обеспечивают более высокую точность ( ) при том же шаге ( ). Метод позволяет дискретно решать дифференциальные уравнения 1-го порядка.
· Формула 1-го порядка
, ( ~ . (4.3.)
является формулой Эйлера.
· Формула 2-го порядка
( ~ (4.4.)
где
· Формула 3-го порядка
( ~ (4.5.)
где
· Формула 4-го порядка
( ~ (4.6.)
где
Формулы 2-го и 3-го порядка применяются для вычислений на калькуляторе, а формулы 4-го порядка – только на ЭВМ.
Погрешности вычисленийобусловлены двумя причинами. Первая – переходом к дискретным значениям функции, что требует округления этих значений.
Вторая – рекуррентностью расчетных формул, что приводит к накоплению погрешности.
Уменьшение шага позволяет уменьшить погрешности. Однако при этом увеличивается число дискретов на заданном интервале аргумента.
Что приводит к увеличению накопленной погрешности. Чтобы найти оптимальный шаг применяют оценки погрешностей расчетных формул. Они приведены рядом с расчетными формулами.
Так, для формулы 4-го порядка оценка: ( ~ . Следовательно, рекомендуемый шаг . Например, при требуемой точности вычислений , рекомендуется брать шаг аргумента .
Окончательно, чтобы после выполнения расчетов выяснить, достигнута ли требуемая точность, применяют прием Рунге. Он заключается в том, что расчеты повторяют с шагом, уменьшенным вдвое, и сравнивают результаты. Погрешность определяют по формуле
, (4.7.)
где приближенное решении е последнего вычисления при ом шаге;
порядок используемой формулы. Так, если используется формула 2-го порядка, то =2 . (4.8.)
Если погрешность результатов вычислений оказалась больше заданной, то вычисления повторяют, уменьшив шаг ещё в 2 раза. После этого сравнивают результаты второго и третьего вычислений.
ПРИМЕР 4.1. Найти приближенное решение дифференциального уравнения на отрезке с точностью . Если
РЕШЕНИЕ. Имеем дифференциальное уравнение первого порядка.
Расчеты будем выполнять по формуле Рунге – Кутта 2-го порядка.
Ширину шага аргумента берем из оценки: .
Число шагов:
Вычисления выполняем в таблице 4.1. Вторые строки в "шапке" таблицы означают действия с числами соответствующих колонок.
Стрелки означают, что числа надо брать из предыдущей строки. Например,
вычисления второй строки: = 0 – 1 = -1; = 0,1*(-1);
0,1- (1+(-0,1)) = -0,8; = 0,1*(-0,8) = -0,08; =1+ = 0,91.
Таблица 4.1.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1,000
|
| -1,000
| -0,100
| -0,800
| -0,080
| 0,910
|
| -0,810
| -0,081
| -0,629
| -0,0629
| 0,838
|
| -0,638
| -0,0638
| -0,474
| -0,0474
| 0,782
|
| -0,482
| -0,0482
| -0334
| -0,0334
| 0,742
|
| -0,342
| -0,0342
| -0,208
| -0,0208
| 0,714
|
| -0,214
| -0,0214
| -0,093
| -0,0093
| 0,699
|
| -0,099
| -0,0099
| 0,011
| 0,0011
| 0,694
|
| 0,005
| 0,0005
| 0,105
| 0,0105
| 0,700
|
| 0,100
| 0,0100
| 0,199
| 0,0199
| 0,714
|
| 0,186
| 0,0186
| 0,267
| 0,0267
| 0,737
|
Результаты решения представлены в колонках 1 и 6 таблицы. Вычисления выполнены с точностью выше требуемой на 2 знака. Согласно приему Рунге повторяем вычисления, уменьшив шаг вдвое ( При этом в расчетной таблице в 3 и 5 колонках 5 умножение выполняют на 0,05, а не на 0,1, как в таблице 4.1.
Результаты вычислений приведены в таблице 4.2.
Таблица 4.2.
|
| 0,05
| 0,10
| 0,15
| 0,20
| 0,25
| 0,30
| 0,35
| 0,40
| 0,45
|
| 1,00
| 0,95
| 0,91
| 0,87
| 0,84
| 0,81
| 0,78
| 0,76
| 0,74
| 0,73
| 0,50
| 0,55
| 0,55
| 0,60
| 0,65
| 0,70
| 0,75
| 0,80
| 0,85
| 0,90
| 1,00
| 0,71
| 0,70
| 0,70
| 0,69
| 0,69
| 0,70
| 0,70
| 0,70
| 0,71
| 0,72
| 0,736
| Определяем погрешность согласно (4.8.):
Следовательно требуемая точность достигнута, и данные таблицы 4.2 являются искомым решением.
Не нашли, что искали? Воспользуйтесь поиском по сайту:
©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.
|