Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Boyarshinov_ChM_T2

.pdf
Скачиваний:
308
Добавлен:
13.03.2016
Размер:
2.93 Mб
Скачать

yk

yk+1/2

 

xk

xk+1/2

xk+1

Рис.2.2. Схема интегрирования обыкновенного дифференциального уравнения методом Рунге-Кутты с параметром = 1 .

Теперь рассмотрим схему6, получающуюся из выражения (2.11) при 1 2

(геометрическая интерпретация результата приведена на рис. 2.3):

h

yk 1 yk 2 f xk ,yk f xk h,yk hf xk ,yk .

1. Выполняется полный шаг метода Эйлера с целью определения приближенного значения искомой функции на конце отрезка интегрирования,

yk 1 yk h f xk ,yk .

2. Для этой же точки вычисляется приближенное значение производной

yk 1 f xk h,yk 1 .

3. Находится среднее значение двух производных, определенных на концах отрезка

1

yk 1/2 2 yk yk 1 .

4. Вычисляется значение искомой функции в конечной точке всего шага по схеме Эйлера с усредненным значением производной:

yk 1 yk h yk 1/2 .

Геометрически понятно, что получаемый указанным способом результат также должен быть “ближе” к истинному решению, чем получаемый по схеме Эйлера.

y

yk+1

yk 1

yk

6 Иногда получающееся выражение называют схемой (методом) Эйлера - Коши.

21

xk

xk+1

Рис.2.3. Схема интегрирования обыкновенного дифференциального уравнения методом Рунге-Кутта с параметром = 0,5

Пример 2.4. Решим уравнение dy y,

y 0 1

методом Рунге-Кутты.

 

dx

 

 

Поскольку правая часть

дифференциального

уравнения имеет вид

f x,y y, схема метода (2.11)

при 1 представляется следующим образом:

 

2

 

 

yk f xk ,yk yk ;

yk 1 yk h yk yk 1 h ;

yk 1 f xk h,yk 1 yk 1 h ;

 

yk 1/2

 

yk yk 1

 

y

k 2 h ;

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

yk 1 yk

h yk 1/2

yk

yk

h

2 h yk

 

h 1

2

1

.

 

 

 

 

 

 

 

 

2

 

 

 

 

2

 

 

 

Построим последовательность значений искомой функции:

 

 

 

 

y0

y 0 1,

 

 

 

 

y1 y0 h 1 2 1 h 1 2 1,

 

 

 

 

 

 

2

 

 

 

 

2

 

 

y

 

 

h 1 2 1

 

 

h 1 2 1 2

2 y1

 

2

 

 

2

 

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h 1

 

2

1

 

 

h 1

2

1

3

y3

y2

 

 

 

 

 

, ...,

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

yn

 

 

h 1 2 1 n

 

 

 

 

 

 

 

 

2

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Как и ранее, результаты получаемого численного решения для значения аргумента x=10 при различных шагах интегрирования приведены в табл. 2.2. Три верных значащих цифры получены теперь для шага h = 0,01.

22

Таблица 2.2.

Результаты численного решения yn методом Рунге-Кутты второго порядка обыкновенного дифференциального уравнения y y с начальным условием y 0 1

Величина шага h

0,5

0,25

0,1

0,01

0,001

0,0001

Число шагов n

20

40

100

1000

10000

100000

yn 104

0,827181

0,514756

0,462229

0,454076

0,454000

0,453999

 

 

 

 

 

 

 

Оценим погрешность аппроксимации уравнения (2.1) разностной схемой метода Рунге-Кутты. Как и ранее, подставляем точное решение в разностный

аналог исходного дифференциального уравнения и вычисляем невязку:

 

y xk 1 y xk

 

 

 

 

 

 

 

 

h

 

 

 

 

h

 

 

k

 

h

 

 

1 f xk ,y xk

f xk

 

,y xk

2

f xk ,y xk .

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

Подставим разложения функций

 

 

 

 

 

 

 

 

 

 

 

 

y xk 1 y xk y xk h y xk

h2

,

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

h

 

h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f xk

,y xk

 

f xk ,y xk

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

2

 

 

 

 

 

 

 

 

 

f

 

x

 

,y

x

 

h

 

 

 

f xk ,y xk

f

 

x

,y x

 

 

 

 

k

f xk ,y xk

 

 

 

 

 

k

 

 

2

x

 

y

 

 

 

k

 

k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

в полученное выражение:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h2

 

 

 

 

 

 

 

 

 

k y xk y xk h y xk

 

 

y xk 1 f xk ,y xk

2

 

 

 

 

 

 

 

 

 

 

 

 

h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h

 

f

xk ,y xk

 

f xk ,y xk

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f xk ,y xk

 

 

 

x

 

 

f xk ,y xk

 

 

 

 

 

 

 

 

2

 

 

 

y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y xk y xk h f xk ,y xk f xk ,y xk

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

f xk ,y xk

h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f xk ,y xk

f xk ,y xk f xk ,y xk O h2

 

 

 

 

 

 

 

2

 

 

 

x

 

y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y xk f xk ,y xk h2 y xk fx xk ,y xk fy xk ,y xk f xk ,y xk O h2 .

23

Учитывая уравнение (2.1), а также выражение для производной

y xk y xk f xk ,y xk fx xk ,y xk fy xk ,y xk f xk ,y xk ,

окончательно получаем, что k O h2 , то есть метод Рунге-Кутты,

независимо от значения параметра , имеет второй порядок аппроксимации.

Методы Рунге-Кутты третьего и четвертого порядков аппроксимации

Рассмотрим две различные схемы Рунге-Кутты, предназначенные для численного решения обыкновенных дифференциальных уравнений первого порядка и имеющие третий порядок аппроксимации [5] :

K1 f xk ,yk ,

 

 

 

 

 

h

h

 

 

 

K2

f xk

,yk K

1 ,

 

 

 

2

2

 

K3

f xk

h,yk

hK1

2hK 2 ,

 

 

h

K1

4K2

K 3 ;

yk 1

yk

 

 

6

 

 

 

K1 f xk ,yk ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h

 

 

 

h

 

 

 

 

 

 

K

 

 

 

 

 

 

 

 

 

,

 

 

2

f x

k

 

,y

k

K

1

 

 

 

 

 

 

 

 

3

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

2h

 

 

 

2h

 

 

 

 

 

 

 

 

 

 

 

,yk

K

 

,

K3

f xk

3

 

3

2

 

 

 

 

 

 

h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y

k 1

y

k

K

1

3K

.

 

 

 

 

 

 

 

4

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Схемы Рунге-Кутты, имеющие четвертый порядок аппроксимации [5]:

K1 f xk ,yk ,

 

 

 

 

 

 

 

 

 

 

 

h

 

 

h

K

 

 

,

K

 

f x

 

,y

 

 

 

 

 

2

 

k

2

 

k

2

 

1

 

 

 

 

 

 

h

 

 

h

K

 

 

,

K

 

f x

 

,y

 

 

 

 

 

3

 

k

2

 

k

2

 

2

 

 

K4

f xk

h,yk

hK3 ,

 

 

 

yk h K

1 2K2 2K3 K4 ;

yk 1

 

 

 

 

6

 

 

 

 

 

 

 

K1 f xk ,yk ,

 

 

 

 

 

 

 

 

 

 

h

 

 

h

 

 

,

K

 

f x

 

,y

 

K

 

 

 

2

 

k

4

 

k

4

1

 

 

 

 

 

 

h

 

 

h

 

 

,

K

 

f x

 

,y

 

K

 

 

 

3

 

k

2

 

k

2

2

 

 

K4

f xk

h,yk

hK1

2hK2 2hK3

 

 

yk h K

1 4K3 K4 .

yk 1

 

 

 

 

6

 

 

 

 

 

 

Пример 2.5. Решим методом Рунге-Кутты четвертого порядка уравнение

dy y,

y 0 1.

dx

 

В соответствии с приведенными выше соотношениями определяем коэффициенты

 

 

K1

yk ;

 

 

K 2

 

h

K

 

 

 

h

;

yk

 

1

 

yk 1

 

 

 

2

 

 

 

 

2

 

24

 

K 3

 

h

 

 

 

h

 

 

h

 

;

 

 

 

 

yk

K 2

yk 1

2

1

 

 

 

 

 

 

 

2

 

 

 

 

 

2

 

 

 

 

 

 

K 4 yk hK

 

 

 

 

 

h

 

h

 

 

 

 

3 yk 1 h 1

 

1

 

;

 

 

 

 

 

 

 

 

 

 

 

2

 

2

 

 

 

yk 1 yk

h K1

2K2 2K3

K4

 

 

 

4

4h

3

12h

2

24h

 

 

 

 

 

 

yk 1 h

 

 

 

.

 

6

 

 

 

 

 

 

 

 

 

 

 

24

 

 

 

Построим последовательность значений искомой функции:

y0 y 0 1,

y1

 

 

 

 

4

4h

3

12h

2

24h

 

 

 

 

 

4

4h

3

12h

2

 

 

 

 

y0 1 h

 

 

 

 

 

1 h

 

 

 

24h ,

 

 

 

 

 

 

 

 

 

 

 

24

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

24

 

 

 

 

 

 

 

 

 

 

 

4

 

 

3

 

 

 

2

 

 

 

 

 

 

 

4

 

 

3

 

 

2

 

 

2

 

y2

 

 

 

4h

 

12h

24h

 

 

 

 

4h

12h

24h

 

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y1 1 h

 

 

 

 

 

 

 

 

1 h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

24

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

24

 

 

 

 

 

 

 

 

 

 

4

 

 

 

3

 

 

 

 

2

 

 

 

 

 

 

 

 

4

 

 

 

3

 

 

 

2

 

 

 

3

 

 

y3 y

 

4h

12h

 

 

 

 

 

 

 

4h

12h

24h

 

, ...,

 

 

 

 

 

 

 

 

 

 

 

3 1 h

 

 

 

24h

 

1 h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

24

 

 

 

 

 

 

 

 

 

 

 

 

 

 

24

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

4h

3

12h

2

24h

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

yn

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 h

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

24

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Результаты получаемого численного решения для значения аргумента x=10 при различных шагах интегрирования приведены в табл. 2.3. Три верных значащих цифры получены для шага h = 0,25.

Таблица 2.3.

Результаты численного решения yn методом Рунге-Кутты четвертого порядка обыкновенного дифференциального уравнения y y с начальным условием y 0 1

Величина шага h

0,5

0,25

0,1

0,01

0,001

0,0001

Число шагов n

20

40

100

1000

10000

100000

yn 104

0,457608

0,454181

0,454003

0,453999

0,453999

0,453999

 

 

 

 

 

 

 

Сравнение таблиц 2.1 - 2.3 с решениями одной и той же задачи позволяет сделать вывод, что более высокая степень аппроксимации дифференциального уравнения разностным аналогом позволяет получать более точное решение при

25

более крупном шаге и, следовательно, меньшем числе шагов, то есть приводит к снижению требуемых ресурсов ЭВМ.

 

 

 

Метод Адамса7

 

 

 

Пусть

при

решении задачи (2.1) для четырех последовательных точек

xk 3,

xk 2,

xk 1,

xk известны приближенные значения

искомой функции

yk 3,

yk 2,

yk 1,

yk , а значит можно подсчитать соответствующие значения

правой части дифференциального уравнения:

 

 

 

F xk 3 f xk 3,yk 3 , F xk 2 f xk 2,yk 2 , F xk 1 f xk 1,yk 1 ,

F xk f xk,yk .

 

Воспользуемся для аппроксимацией функции f x,y x

на отрезке xk 3, xk

полиномом Ньютона: f x, y x F x

(2.12)

F xk 3 F xk 3,xk 2 x xk 3 F xk 3,xk 2,xk 1 x xk 3 x xk 2

F xk 3,xk 2,xk 1,xk x xk 3 x xk 2 x xk .

Здесь:

F xk 3,xk 2 F xk 3 F xk 2 ,

xk 3 xk 2

F xk 3,xk 2,xk 1 F xk 3,xk 2 F xk 2,xk 1 ,

xk 3 xk 1

F xk 3,xk 2,xk 1,xk F xk 3,xk 2,xk 1 F xk 2,xk 1,xk

xk 3 xk

- разделенные разности, являющиеся разностными аналогами соответствующих производных функции F(x).

Разделяем переменные в уравнении (2.1) и интегрируем его на отрезке xk , xk 1 :

xk 1

y xk 1 y xk f t,y t dt.

xk

Используя аппроксимацию (2.12), построим схему численного интегрирования дифференциального уравнения на отрезке xk , xk 1 :

7

Адамс Джон Кауч [5.6.1819 - 21.1.1892] - английский астроном и математик, член Лондонского

 

 

королевского общества. С 1861 года стал директором Кембриджской астрономической обсерватории. В 1864

 

года был избран иностранным членом-корреспондентом Петербургской академии наук.

26

xk 1 xk 1 xk 1

yk 1 yk F xk 3 dt F xk 3,xk 2 t xk 3 dt F xk 3,xk 2,xk 1 t xk 3 t xk 2 dt

xk xk xk

xk 1

F xk 3,xk 2,xk 1,xk t xk 3 t xk 2 t xk dt.

xk

Полагая шаг интегрирования h постоянным для всей сеточной области n , предыдущее выражение можно преобразовать к виду:

 

h2

 

5h

3

yk 1 yk F xk 3 h F xk 3,xk 2 2

F xk 3,xk 2,xk 1

6

 

F xk 3,xk 2

,xk 1,xk 9h4 .

 

 

(2.13)

 

 

 

 

4

 

 

 

Погрешность аппроксимации уравнения (2.1) схемой (2.13) имеет

четвертый порядок.

 

 

 

Метод Адамса не является самостартующим, поскольку для начала

вычислений кроме

начального условия y 0 y0

необходимо дополнительно

знать значения y1,

y2, y3 искомой функции. Обычно недостающие значения

определяются методами Эйлера, Рунге-Кутты или другими способами. Кроме того, при интегрировании с переменным шагом h выражение (2.13) становится достаточно громоздким.

Вместе с тем метод Адамса имеет преимущества, например, перед методом Рунге-Кутта. Действительно, для определения очередного значения искомой функции вычислять правую часть дифференциального уравнения приходится лишь один раз, тогда как в методе Рунге-Кутты четвертого порядка такие вычисления приходится выполнять четырежды. Очевидно, что при достаточно сложном выражении, стоящем в правой части дифференциального уравнения, выигрыш во времени проведения расчетов будет значительным.

В монографии [10], посвященной методам решения обыкновенных дифференциальных уравнений, дополнительно представлены схемы Адамса - Башфорта второго

yk 1 yk

h

3f xk ,yk f xk 1,yk 1 ,

 

 

2

 

и третьего

 

 

 

yk 1 yk

 

12h 23f xk ,yk 16f xk 1,yk 1 5f xk 2,yk 2 ,

порядков аппроксимации.

Неявные схемы интегрирования

Рассмотренные выше методы решения задачи Коши относятся к явным схемам интегрирования, поскольку приводят к решению одного линейного

27

уравнения относительно очередного искомого значения функции. Примером неявных схем являются разностные аналоги Адамса-Моултона дифференциального уравнения (2.1) второго

h

yk 1 yk 2 f xk,yk f xk 1,yk 1

и четвертого

h

yk 1 yk 24 9f xk 1,yk 1 19f xk,yk 5f xk 1,yk 1 f xk 2,yk 2

порядков, приведенные в книге [10].

Для построения простейшей неявной схемы запишем уравнение (2.1) в форме

xk 1

y xk 1 y xk f t,y t dt,

xk

причем интеграл в правой части этого выражения вычислим по формуле трапеций:

yk 1

yk

h

f xk ,yk f xk 1,yk 1 .

(2.14)

 

 

2

 

 

Полученное выражение можно рассматривать как нелинейное уравнение относительно искомой величины yk 1 :

yk 1

h f xk 1,yk 1 yk

h f xk ,yk .

 

2

2

Эта схема допускает интегрирование с переменным шагом, не требует специальных приемов для начала расчетов. Вместе с тем требует исследования вопрос о существовании и единственности решения.

Пример 2.6. Решим уравнение

dy

y2,

y 0 1

.

dx

 

 

 

 

 

 

 

 

Согласно неявной схеме (2.14)

 

 

 

 

yk 1 yk

h

y2k y2k 1 .

 

 

 

 

 

2

 

 

 

 

 

В частности, для k=0 получаем

y1

y0

h

y02 y12 1 h

1 y12 ,

 

 

2

 

2

 

hy12 2y1 2 h

0 - квадратное уравнение относительно y1 ,

y1 1 1 h 2 h . h

Потребуем, чтобы дискриминант квадратного уравнения был неотрицательным:

28

1 h 2 h 0,

h2 2h 1 0,

h 1 2 2,

2 1 h 2 1.

Принцип построение разностных схем требует, чтобы шаг интегрирования был положителен, то есть

0 h 2 1.

При иных значениях шага h численное решение будет содержать мнимую часть. В действительности точное решение исходного уравнения является вещественным:

y x 1 . 1 x

В общем случае решение нелинейного уравнения (2.14) можно находить с помощью итерационного процесса:

y(ks 11) yk h2 f xk ,yk f xk 1,y(ks)1 ,

s 012,,,

 

 

(2.15)

В качестве начального приближения можно выбрать y(k0)1 yk . Завершение

итерационного

процесса

производится

при

выполнении

условия

y(ks 11) y(ks)1 ,

0 - заданное малое число. Сходимость процесса наблюдается

при малых шагах интегрирования h 2 , К - константа в условии Липшица для

K

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

В то же время итерационный процесс (2.15) можно рассматривать следующим образом.

Пусть y(k0)1 yk . Тогда на первым шаге получаем решение

y(k1)1 yk h2 f xk ,yk f xk 1,yk yk h f xk ,yk ,

соответствующее использованию метода Эйлера, имеющего первый порядок аппроксимации.

Далее,

y(k2)1 yk h2 f xk ,yk f xk 1,y(k1)1 yk h2 f xk ,yk f xk 1,yk h f xk ,yk ,

что соответствует схеме Рунге-Кутта второго порядка с коэффициентом 1.

2

29

На третьей итерации можно ожидать повышения порядка аппроксимации до третьего, и так далее. Однако следует иметь в виду, что сама исходная схема (2.14) имеет второй порядок, а значит целесообразно ограничивать общее число итераций.

Известно эмпирическое правило [2]: пусть для решения дифференциального уравнения используется неявная схема p-го порядка точности, реализуемая итерационно. При первой итерации получается схема первого порядка точности; при второй - второго порядка, и так далее. При p итерациях получается схема p-го порядка. Дальнейшее увеличение числа итераций не повышает точности решения.

Дифференциальные уравнения высших порядков. Системы дифференциальных уравнений

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

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

dxd

yn

f x,y,y , ,y(n 1) ,

 

 

 

 

 

(2.16)

 

y

0

,

 

 

0

 

0

,

y(n 1)

0

y 0

 

y 0 y ,

y 0 y ,

0 y(n 1).

Введем обозначения:

 

 

 

 

 

 

y x u1 x ,

y x u2 x ,

y x u3 x ,

,

y(n 1) x un x .

Теперь уравнение (2.16) можно заменить системой дифференциальных уравнений первого порядка с соответствующими начальными условиями

 

 

1

 

x

 

u

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

u

 

 

 

 

x ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

x

u

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

u

 

 

 

 

 

 

x ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(2.17)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n 1

x

 

u

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

u

 

 

 

 

 

 

 

x ,

 

 

n

 

 

 

 

 

 

 

 

 

 

n

x

 

 

f

 

x,u

1

,u

2

, ,u

,

 

 

 

 

 

 

 

u

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

u

1

0 y

0

,

 

 

 

u

2

0

y ,

u

3

0 y ,

,

u

n

0 y(n 1)

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

0

 

 

0

Удобно систему уравнений и начальные условия представить в матричной форме:

d

dx u f , u 0 u0 . (2.18)

Здесь обозначено:

u1 xu xu 2 ,

un x

f1

x,u1

x , ,un

x

 

 

 

x,u

 

x , ,u

 

x

 

f

 

 

 

 

f

2

 

1

 

n

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

fn

x,u1 x , ,un x

30

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]