WWW.DISSERS.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА

   Добро пожаловать!


Pages:     || 2 | 3 | 4 | 5 |
Министерство образования Российской Федерации Воронежский государственный университет Факультет прикладной математики и механики Кафедра вычислительной математики Численное решение задачи Коши для обыкновенных дифференциальных уравнений методами типа Рунге-Кутта.

Часть 1.

Методические указания по курсу «Численные методы» для студентов 3 и 4 курсов д/о и в/о факультета ПММ Составители: Корзунина В.В.

Шабунина З.А.

Воронеж - 2001 2 СОДЕРЖАНИЕ 1. Явные методы типа Рунге-Кутта решения обыкновенных дифференциальных уравнений.................................................................................

1.1. Общая формулировка методов типа Рунге-Кутта................................. 3 1.2. Метод первого порядка точности (одночленная формула, q=1).......... 5 1.3. Методы второго порядка точности (двучленные формулы, q=2)........ 6 1.4. Методы третьего порядка точности (трехчленные формулы, q=3)..... 9 1.5. Методы четвертого порядка точности (четырехчленные формулы, q=4)......................................................................................................................... 10 1.6. Методы порядка выше четвертого....................................................... 11 1.7. Решение систем обыкновенных дифференциальных уравнений методами типа Рунге-Кутта.................................................................................. 11 2. Двухсторонние явные методы Рунге-Кутта.....................................................

2.1. Двучленные двухсторонние методы Рунге-Кутта.............................. 14 2.2. Трехчленные двухсторонние методы Рунге-Кутта............................. 16 2.3. Организация счета в двухсторонних методах типа Рунге-Кутта....... 18 3. Повышение точности экстраполяционным методом Ричардсона....................... 19 3.1. Повышение точности в методе Эйлера................................................ 20 3.2. Построение непрерывного приближенного решения......................... 4. Практические способы оценки погрешности явных одношаговых методов решения задачи Коши........................................................................

4.1. Оценка глобальной погрешности по правилу Рунге........................... 4.2. Оценка локальной погрешности по правилу Рунге............................ 4.3. Оценка локальной погрешности на основе комбинации методов разного порядка точности..................................................................................... 4.4. Вложенные методы оценки локальной погрешности......................... 4.5. Мера погрешности приближенного решения...................................... 5. Автоматический выбор шага интегрирования задачи Коши............................... 5.1. Метод удвоения и деления шага пополам........................................... 5.2. Метод выбора максимальной для заданной точности длины шага... 6. Индивидуальные задания по численным методам решения задачи Коши......... 6.1. О демонстрации работы программ...................................................... 6.2. Об ошибках, допущенных при задании входных параметров........... В связи с систематическим сокращением числа лекционных часов по курсу “Численные методы”, полным исчезновением из учебных планов практических занятий по этому предмету и устойчивым существованием практики на ЭВМ, поддерживающей лекционный курс “Численные методы”, возникла острая необходимость в новой учебно-методической литературе, которая:

1. содержит краткое конспективное изложение лекционного материала;

2. включает теоретические материалы, передаваемые студентам самостоятельного изучения;

3. дает описание основных вычислительных алгоритмов и рекомендации к их практическому использованию;

4. включает в себя подробное индивидуальное задание на ЭВМ;

5. учит грамотно составить тестовые и демонстрационные примеры.

Настоящее пособие “Численное решение задачи Коши для обыкновенных дифференциальных уравнений методами типа Рунге - Кутта” является первым из серии методических разработок указанного типа. Оно написано на основе большого опыта ведения лекционных, практических и лабораторных занятий, накопленного на кафедре Вычислительной математики. Пособие состоит из двух частей. В первой части находятся материалы, перечисленные в п. п. 1 - 5, во второй - индивидуальные задания на ЭВМ. Индивидуальные задания составлены авторами так, чтобы они соответствовали девизу Р.В. Хемминга “Цель расчетов – не числа, а понимание".

1. Явные методы типа Рунге-Кутта решения обыкновенных дифференциальных уравнений 1.1. Общая формулировка методов типа Рунге-Кутта Пусть на отрезке,[ xx + X ] требуется найти численное решение задачи Коши = fy x,( y) (1) xy )( =y00 (2) на сетке узлов xx << x2 <...

(3) Методы типа Рунге-Кутта являются явными одношаговыми методами, т.е.

такими, которые последовательно в каждом узле xi сетки (3) определяют yi приближенное решение на основе известного значения приближенного yi -1 xi-решения в предыдущем узле. Основная идея метода была предложена К. Рунге в 1895г., а затем развита В. Кутта в 1901г. Согласно = xx +h ищется в yпредложению Рунге, приближенное решение в узле виде линейной комбинации с постоянными коэффициентами =yy +p1k1 h)( +pqq k2(h)+...+pqqkq(h), 01 2 (4) где hk )( =hf(x01,y0), hk )( hf(x02 += h,y0 + k1(h)), 2...

(5) hk )( hf(x += h,y00 + + kq-- 1(h)).

k1(h)+...

qq q1 q,q,, pqi определяются из требования, чтобы Коэффициенты iji погрешность равенства (4) на точном решении задачи (1),(2) имела возможно h высокий порядок малости при произвольном шаге для любых уравнений вида (1).



+hx xy )( Запишем точное решение в узле по формуле Тейлора h2 hs s)( hs+1 ) xy )( y01 += hy0 + y...++ y00 + ys+1( )(, (6) 2 s (! s+1)! где )( (kk ) yy x ),( x00 <=

Погрешность метода на шаге, или локальная погрешность метода, есть величина q )( yh (x += h) - y00 - ki (h) pqiq. (7) i=Ее разложение по степеням h должно начинаться с максимально возможной степени:

hs+1 1( ) ss ++ h)( = 0( ) + (ho ).

q q (8) s +1( )!,, pqi определены так, что погрешность имеет Если коэффициенты iji вид (8), то говорят, что формула (4) метода Рунге-Кутта имеет порядок точности s, при этом первое слагаемое в (8) называют главным членом локальной погрешности метода на шаге.

q =,12,3,4, то можно подобрать такие коэффициенты Известно, что если,, pqi, что получится метод Рунге-Кутта порядка точности Для q. q =iji невозможно построить метод типа Рунге-Кутта пятого порядка точности.

q =,12,3,4 можно найти в книге [1].

Подробное описание коэффициентов для Ниже мы подробно описываем получение двучленных методов Рунге-Кутта q = 2( ), а для методов с большим количеством членов ограничиваемся приведением некоторых расчетных формул.

1.2. Метод первого порядка точности (одночленная формула, q=1) Единственно возможный одночленный метод Рунге-Кутта первого порядка точности известен как метод Эйлера = yy + hf(x0, y0), (9) для которого разложение (8) имеет вид h h)( = { + ff f } +o h2)( =xx 1 yx. (10) =yy 2 1.3. Методы второго порядка точности (двухчленные формулы, q=2) Двухчленные формулыметода Рунге-Кутта имеют вид = yy + p21k1 h)( + p22k2(h), (11) где hk )( = hf(x01, y0), hk )( hf(x02 += h, y0 + k1(h)).

2 В формулах (11) присутствуют четыре неизвестных параметра,,, pp. Для их определения построим вспомогательную функцию, 212 21 являющуюся погрешностью на шаге конструируемого метода Рунге-Кутта.

)( = yh (x02 +h) - y0 - p21hf(x0, y0)- p22hf(x0 + h, y0 + hf(x0, y0)). (12) 2 Потребуем, чтобы в разложении по степеням h функции h)( максимальное число членов обратилось в нуль. Первые две производные по переменной h )( =yh (x02 +h)-p21f(x0,y0)-p22f(x0 + h,y0 + hf(x0,y0))2 - hp ( f (x0 2h y0 ++ hf(x0,, y0))+ f(x0,y0)fyx (x0 2h,y0 ++ hf(x0,y0))), 22 2 21 21 )( = yh (x02 +h) -2p22( fx(x0 + h,y0 + hf(x0, y0))+ 2 2 + (xf y0)fy(x0 2h,, y0 ++ hf(x0, y0))) 21 0 d - hp22 (xf y0))( + h y0 ++ hf(x0,, 2 x 0 2 dx + (xf y0)fy(x0 2h,, y0 ++ hf(x0, y0))) 21 0 h = при принимают значения 0( ) =(1- - pp212 )f(x0,y0), (13) )0( = {(1- 2 )fp + (1- 2 p22 )ff }. (14) =xx 22 22 21 yx = yy Для того, чтобы эти две первые производные обратились в нуль, необходимо, чтобы неизвестные параметры удовлетворяли системе уравнений -- pp21 22 = 21 p222 =- 0 (15) 21 p22 =- 0.

Третью производную 2 2 )0( {(1-= 3 )fp22 xx 2(1-+ 3 p22 )ff (1-+ 3 p22)f f + (fx + ff )f } =xx (16) 22 2 21 xy 21 yy y y = yy за счет выбора параметров,,, pp обратить в нуль для произвольной 212 21 функции xf,( y) нельзя. Следовательно, максимальное количество членов в разложении погрешности h)( по степеням h, обращающихся в нуль, равно двум:

hh)( =. (17) )0( + (ho ) q Система уравнений (15) имеет однопараметрическое семейство решений.

Если в качестве параметра выбрать, то 1 pp = 1, -, (18), == 21 2 22 2 2 причем 0. Заметим, что параметр не может быть равным нулю, поскольку 2 в этом случае теряет смысл второе уравнение системы (15).

Таким образом, мы показали, что формулы (11) образуют однопараметрическое семейство формул типа Рунге-Кутта второго порядка точности 1 yy +=, (19) 1- 2 h)( + k1 k2 h)( 2 где hk )( = hf (x01, y0 ), hk )( hf (x02 += h, y0 + k1(h)), 2 – числовой параметр, отличный от нуля.

Замечание 1. Для начальных задач Коши естественным является предположение, что решение в точке + hx )( зависит от поведения правой части уравнения (1) на отрезке,[ xx + h]. Поэтому в формулах (19) обычно полагают, что 0(,1].

Замечание 2. Нельзя выбрать наилучшее значение параметра с точки зрения малости абсолютной величины главного члена погрешности (17).

Для одних уравнений это будет одно значение, для других – другое [2].

Рассмотрим несколько наиболее часто используемых примеров двучленные формул метода Рунге-Кутта второго порядка.

1. Пусть = 1. Тогда yy += (K1 + K2 ), (20) = hfK (x01 y0 ),, K2 = hf (x0 + h, y0 + K1).

Погрешность на шаге метода (20), как следует из (16),(17),(18), имеет вид h3 -= ( + ffxx fxy + f f )+ (fx + ff )f + o(2 h32 ). (21) 2 yy y y =xx 6 2 = yy 2. Пусть =. Тогда = yy + K2, (22) 1 hfK (x01 y0 ),, K2 == hf x0 + h, y0 + K1.

2 Погрешность на шаге метода (22), как следует из (16),(17),(18), имеет вид h3 = ( + ffxx fxy + f f )+ (fx + ff )f + o(2 h32 ).

2 yy y y =xx 6 = yy (23) 3. Пусть =. Тогда yy += (K1 + 3K2 ), (24) 2 hfK (x01 y0 ),, K2 == hf x0 + h, y0 + K1.

3 Погрешность на шаге метода (24), как следует из (16-18), имеет вид h = {( + ff f )f } + o h3)(. (25) =xx 2 yx y = yy 1.4. Методы третьего порядка точности (трехчленные формулы, q=3) Формулы вида = yy + p31k1 h)( + p32k2 (h) + p33k2 (h), (26) где hK )( = hf (x01, y0 ), hK )( hf (x02 += h, y0 + K1(h)), 2 hK )( hf (x03 += h, y0 + K2 (h)), K1(h) + 3 31 образуют три семейства формул типа Рунге-Кутта третьего порядка. Одно семейство – двухпараметрическое со свободными параметрами, :





= yy + ( - p32 - p33)K1(1 h) + p32K2 (h) + p33K2 (h), (27) где, pp определяются из системыдвух линейных уравнений 32 pp =+ 32 2 33 (28) 2 pp =+, 32 2 33 причем, 0,, p33 0. Коэффициенты вычисляются простым 32 2 2 ij пересчетом:

- == (6, p33), = -. (29) 21 2 32 2 31 3 Два других семейства – однопараметрические со свободным параметром 2 p33 0. Для первого из этих семейств, = - pp32, для второго – == 32 3 2 == 0,, p32 =. Для обоих семейств имеют место соотношения (29).

3 Наиболее употребительным методом третьего порядка является метод, получаемый из (27-29) при == 1, :

yy += (K1 + 4K2 + K3), (30) 1 hfK (x01 y0 ),, K2 == hf x0 + h, y0 + K1 K3 hf (x0 += h,, y0 - K1 + 2K2 ).

2 1 Еще один пример метода (, 32 == :

3 3) yy += (K1 + 3K3), (31) 1 1 2 hfK (x01 y0 ),, K2 == hf x0 + h, y0 + K1, K3 hf x0 += h, y0 + K2.

3 3 3 1.5. Методы четвертого порядка точности (четырехчленные формулы, q=4) В этом случае формулы типа Рунге-Кутта содержат 13 неизвестных параметров; условия, обеспечивающие четвертый порядок точности метода на шаге, дают 11 нелинейных уравнений. Подробные сведения о четырехчленных семействах формул можно найти в книге [1]. Ниже мы приводим три наиболее часто употребляемые формулы.

1. Стандартная формула Рунге-Кутта четвертого порядка yy += (K1 + K2 + 22 K3 + K4 ) (32) h K1 h K, hfK, hfK (x01 y0 ),, K2 == hf x0 +, y0 + x03 +=, y0 + 2 2 2 = hfK (x04 + h y0 + K3),, 2. Формула трех восьмых yy += (K1 + K2 + 33 K3 + K4 ), (33) 1 hfK (x01 y0 ),, K2 == hf x0 + h, y0 + K1, 3 2 hfK x03 += h, y0 - K1 + K2 K4 hf (x0 += h,, y0 + K - K21 + K3).

3 3.

yy += (K1 + 4K3 + K4 ), (34) h K, hfK (x01 y0 ),, K2 == hf x0 +, y0 + 4 h K hfK x03 +=, y0 + hfK (x04 += h,, y0 + K1 - 2K2 + K3).

2 1.6. Методы порядка выше четвертого Для формул типа Рунге-Кутта степени больше четырех показано, что они требуют N-кратного вычисления правой части, где N больше степени. Эти формулы имеют громоздкие коэффициенты, и мыотправляем читателя к книгам [2,3].

1.7. Решение систем обыкновенных дифференциальных уравнений методами типа Рунге-Кутта Методы Рунге-Кутта без труда переносятся на решение задач Коши для систем обыкновенных дифференциальных уравнений размерности M fy,( yx ), x = [A, B] (35) xy )( = y00, MM M 1 2 M где = (yy y21,...,, yM ), = (ff (x y11,...,, y ),..., f (x, y1,..., y )), = (yy y0,...,, y0 ).

Формулы Рунге-Кутта записываются в векторном виде _ _ _ yy += p K h)( + pqq1 K (h) +... + pqq K (h), (36) 2 q 01 где _ hK )( = hf (x, y00 ), _ _ hK )( hf x += h, y0 + 21 K (h), 2...

_ _ _ hK )( hf x += h, y00 +... + K (h).

K (h) + q 1 q-qq 1 q q-1, В качестве примера рассмотрим систему двух дифференциальных уравнений dy= (xf y11,, y2), dx dy = y12,, y2), (xf dx xy )( y00, y21 (x ) == y00 2.

и двучленную формулу метода Рунге-Кутта (20) _ _ yy += K + K, 1 (37) _ _ hK f (x y00 ),, k2 == hf x0 + h, y0 + K.

1 Обращаем внимание читателя на то, что в записях ky,, yil, kil верхний ii индекс обозначает номер компоненты векторного решения, а нижний индекс – номер точки, в которой записывается рассматриваемое решение. Распишем покомпонентно векторную формулу (37):

1 1 1 1 1 2 2 2 yy += (K1 + K2), y1 = y0 + (K1 + K2 ), 1 2 11 2 22 hfK (x y1,, y0 ), K1 == hf (x, y1, y0 ), 1 00 11 1 2 hfK (x += h y1 + K1,, y0 + K1 ), 2 22 1 2 hfK (x += h y1 + K1,, y0 + K1 ).

2 Выражения для главных членов погрешностей в случае решения систем уравнений (35) становятся громоздкими, мыих не приводим. Однако подчеркнем, что выводы относительно главных членов погрешности, сделанные для одного дифференциального уравнения, остаются в силе и для системы дифференциальных уравнений. Если для системыдифференциальных уравнений записывается аналог метода типа Рунге-Кутта порядка s, то главная часть 21 M погрешности для каждой компоненты решения yy,...,, y имеет также порядок s + 1:

q ll l )( yh (x += h) - y00 - pqikil (h) = O(hs+1) (38) q i=Когда говорят, что решение системы обыкновенных дифференциальных уравнений получено с абсолютной погрешностью, то подразумевают, что все компоненты решения имеют абсолютную погрешность, не превышающую.

2. Двухсторонние явные методы Рунге-Кутта Как и в обычных, односторонних методах Рунге-Кутта, в двухсторонних методах приближенное решение в узле + hx будем искать в виде (4),(5).

Относительно главной части погрешности на шаге )(h сделаем дополнительное q предположение. А именно, будем считать, что главная часть погрешности может s+быть представлена в виде fh ][, где – некоторый параметр, f ][ – вполне 0 определенный оператор, зависящий от функции f и вычисленный в точке,( yx ).

Нас будет интересовать ситуация, когда допустимая область значений параметра содержит пары значений, отличающихся только знаком. Тогда формулы РунгеКутта (4),(5) для двух равных по величине и противоположных по знаку значений параметра 0( ) будут давать верхнее и нижнее приближения к искомому решению. Такие формулы будем называть формулами двухстороннего метода -+ Рунге-Кутта. Полученные приближенные решения будем обозначать, yy.

Соответствующие этим приближенным решениям локальные погрешности на шаге равны )( += + o(hss++ hh [ f ]0 +1) q (39) )( -= + o(hss+- hh [ f ]0 +1).

Pages:     || 2 | 3 | 4 | 5 |










© 2011 www.dissers.ru - «Бесплатная электронная библиотека»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.