Методы Эйлера и Рунге-Кутта.


Принцип этих методов состоит в переходе от непрерывной искомой функции к дискретной, то есть существующей только для заданных значений аргумента. Значений аргумента не может быть много, так как при вычислениях накапливается ошибка. Шаг ( интервал между смежными значениями аргумента) обычно берется постоянным.

Количество шагов ( ) определяется требуемой точностью.

Метод Эйлераявляется самым простым. Он дает относительно большую погрешность, поэтому практически не применяется. Но позволяет понять принцип методов Рунге-Кутта.

Пусть дано дифференциальное уравнение первого порядка и начальное условие .

Для первого значения аргумента: . Так как искомая функция дискретна, то производную нельзя понимать в полном смысле согласно её определению

, так как приращение аргумента не стремится к нулю, а является шагом вычислений ( ). Поэтому можно записать приближение: . Тогда дифференциальное уравнение принимает вид:

. (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 являются искомым решением.

 



Дата добавления: 2020-10-25; просмотров: 425;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.016 сек.