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

DiVM / DiVM / 12_116608_1_52628

.pdf
Скачиваний:
14
Добавлен:
11.05.2015
Размер:
1.09 Mб
Скачать

 

 

 

 

 

 

 

 

 

 

yn 1 yn

 

1

(k 4k

2

k ),

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

τ

 

6

1

 

 

 

3

 

 

 

 

 

где: k

1

f (t

n

, y

n

);

k

2

f(t

 

τ

,y

n

 

 

k

); k

3

f (t

n

, y

n

k

2 k

2

).

 

 

 

 

 

 

 

n

2

 

2 1

 

 

 

 

 

1

 

 

Метод Рунге-Кутта 4-го порядка точности

yn 1 yn 1( k1 2 k2 2 k3 k4 ),

τ6

где: k1 f( tn,yn );

k2

f( tn

τ

,yn

τ

k1 );

k3

f( tn

τ

,yn

τ

k2 );

 

2

 

2

 

 

2

 

 

 

2

 

 

k4 f( tn τ,yn τ k3 ).

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

порядком аппроксимации разностным отношением.

 

Теорема. Пусть правая часть уравнения (6.4) f (t,u)

удовлетворяет

условию Липшица по аргументу u с константой L, и пусть n -невязка

метода Рунге-Кутта. Тогда для погрешности метода

при n T

справедлива оценка

 

yn u(tn ) Te T max n ,

где: Lm(1 Lb )m 1; max

i

; b max

bij

.

 

 

 

 

 

 

 

 

i

 

 

 

 

i, j

 

 

 

 

 

 

 

 

 

 

На практике обычно пользуются правилом Рунге. Для этого сначала

проводят вычисления с шагом , затем -

2. Если yn - решение при шаге , а

y2n2 - при шаге 2, то справедлива оценка

 

 

y2n2 u(tn )

 

 

16

 

 

y2n2 yn

 

. Тогда

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

15

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

за оценку погрешности при шаге 2 принимают величину

 

 

 

 

 

max yn y2n2 .

i15

6.2Многошаговые разностные методы решения задачи Коши для обыкновенных дифференциальных уравнений

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

61

du

f (t,u),

(6.10)

 

dt

 

где u(0) u0.

Для решения задачи Коши для уравнения (1) при t>0 введем равномерную сетку с постоянным шагом ωτ tn n τ,n 0,1,... .

Введем понятие линейного m шагового разностного метода для решения задачи (6.10). Линейным m-шаговым методом называется система разностных уравнений

a0 yn a1 yn 1

... am yn m

b

0

f

n

b

f

n 1

... b

m

f

n m

,

(6.11)

 

 

τ

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

где: n=m,m+1...; ak ,bk -числовые коэффициенты не зависящие от n; k=0,1,…,m. Систему (6.11) будем рассматривать как рекуррентные соотношения, выражающие новое значения yn y(tn ) через ранее найденные значения

yn 1, yn 2 ,..., yn m , причем расчет начинают с индекса n=m, т.е. с уравнения

a0 ym a1ym 1 ... am y0

b

0

f

m

b

f

m 1

... b

m

f

0

.

 

τ

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Отсюда следует, что для начала расчета по формулам (6.11) надо знать m предыдущих значений функции y, причем y0 =u0 . Эти предыдущие m значений могут быть найдены одним из одношаговых методов Рунге-Кутта.

Отличие от одношаговых методов состоит в том, что по формулам (6.11) расчет ведется только в точках сетки.

Определение. Метод (6.11) называется явным, если коэффициент b0 =0. Тогда значение yn легко выражается через yn 1, yn 2 ,..., yn m . В противном случае метод называется неявным, и для нахождения y придется решать нелинейное уравнение вида

a0

 

 

 

 

 

 

 

m

 

 

 

 

ak

 

 

 

 

y

n

b

f(t

n

,y

n

) (b

k

t

n k

 

y

n k

).

(6.12)

τ

 

 

0

 

 

k 1

 

 

τ

 

 

Обычно это уравнение решают методом Ньютона при начальном значении yn(0) yn 1. Коэффициенты уравнения (6.11) определены с точностью

m

до множителя, тогда, чтобы устранить этот произвол, вводят условие bk 1,

k 0

62

с тем условием, что правая часть (6.11) аппроксимирует правую часть уравнения (6.10).

На практике используют частный случай методов (6.11), т.н. методы Адамса, т.е. когда производная u (t) аппроксимируется разностным отношением, включающим две соседние точки tn и tn 1. Тогда a0 a1 1; ak

=0, k=2,...,m и

yn yn 1

m

 

bk fn k .

(6.13)

k 0

Это и есть методы Адамса. При b0 =0 метод будет явным, в противном случае - неявным.

6.2.1 Задача подбора числовых коэффициентов aк , bк

Выясним, как влияют коэффициенты ak, bk на погрешность аппроксимации уравнения (6.11), на устойчивость и сходимость.

Определение. Невязкой, или погрешностью аппроксимации методов (6.11) называется функция

m

ak

m

 

rn

 

un k bk f (tn k ,un k ),

(6.14)

 

k 0

 

k 0

 

где u(t)-точное решение дифференциального уравнения (6.10).

Если разложить функции un k u(tn ,k ) в ряд Тейлора в точках t tn равномерной сетки, окончательно получим функцию

m

a

k

p m

k

U

(l) (t

n

)

 

 

rn (

 

)U(tn ) ( ( k )l 1(ak

 

bk ))

 

 

 

O(

p ). (6.15)

 

 

 

 

 

 

k 0

l 1 k 0

l

(l 1)!

 

Из вида функции rn следует, что порядок аппроксимации будет равен p, если выполнены условия

m

 

 

ak

0;

 

k 0

 

 

m

 

 

kl 1(kak

lbk ) 0;

(6.16)

k 0

 

 

m

 

 

bk

0,

 

k 0

 

 

63

где l=1,...,p.

Условия (6.16) представляют собой СЛАУ относительно неизвестных a0 ,..., am , b0 ,...,bm . Их количество равно 2(m+1). Решив систему (6.16), получаем неизвестные числовые коэффициенты. Для неявных методов наивысшим порядком аппроксимации p=2m, а для неявных – p=2m-1.

Запишем систему (6.16) для методов Адамса

m

 

l kl 1bk

1;

k 1

(6.17)

m

b0 1 bk ,

k 1

где l=2,...,p . Отсюда наивысший порядок аппроксимации для неявного метода p=m+1, для явного – p=m.

6.2.2 Устойчивость и сходимость многошаговых разностных методов

Наряду с системами уравнений (6.11) будем рассматривать т.н. однородные разностные уравнения вида

a0Vn a1Vn 1

... amVn m 0,

(6.18)

где n=m,m+1,... .

Будем искать его решение в виде функции

Vn qn ,

где q-число подлежащее определению. Подставив Vn в (6.18) получаем уравнение для нахождения q

a

0

qm a qm 1

... a

m 1

q a

m

0.

(6.19

 

1

 

 

 

)

Уравнение (6.19) принято называть характеристическим уравнением для разностных методов (6.11). Говорят, что разностный метод (6.11) удовлетворяет условию корней, если все корни уравнения (6.19) q1,..., qm лежат внутри или на границе единичного круга комплексной плоскости, причем на границе нет кратных корней.

Разностный метод (6.11), удовлетворяющий условию корней, называется устойчивым методом.

64

Теорема. Пусть разностный метод (6.11) удовлетворяет условию

корней и

выполнено условие

 

 

 

 

L при

0 t T .

Тогда при

 

f (t,u)

m tn

n T , n m и достаточно малых будет выполнена оценка

 

 

y

 

u(t

 

)

 

M(

max

 

y

 

 

u(t

 

)

 

 

max

 

r

 

),

(6.20

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

n

 

 

 

0 j m 1

 

 

 

j

 

j

 

 

 

0 k n m

 

k

 

 

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

где: rk -погрешность

аппроксимации;

 

y j u(t j )-погрешность

в задании

начальных условий; M=const.

Методы Адамса удовлетворяют условию корней, т.к. a0=-a1=1, следовательно, q=q1=1.

6.2.3 Примеры m-шаговых разностных методов Адамса для различных

m

Явные методы. При m=1 порядок точности p=1. Тогда метод описывается формулой

yn yn 1 fn 1.

В этом случае получаем метод Эйлера. При m=2 порядок точности p=2. Тогда метод описывается формулой

yn yn 1

3

fn 1

1

fn 2 .

 

 

 

 

 

 

2

2

 

 

При m=3 порядок точности p=3. Тогда метод описывается формулой

yn

yn 1

 

 

1

(23fn 1

16 fn 2

5 fn 3 .

 

 

12

 

 

 

 

 

При m=4 порядок точности p=4. Метод описывается формулой

 

yn

yn 1

 

1

 

(55fn 1

59fn 2 37 fn 3 9 fn 4 ).

 

 

 

24

 

 

 

 

 

 

 

 

 

Неявные формулы Адамса.

 

 

m=1, p=2,

yn yn 1

 

 

 

1

( fn

 

fn 1)-метод трапеций;

 

 

 

2

 

 

 

 

 

 

 

 

65

m=2, p=3,

yn yn 1

 

 

 

1

(5 fn

8fn 1

fn 2 );

 

 

 

 

12

 

 

 

 

 

 

 

 

 

 

m=3, p=4,

yn yn 1

1

 

(9 fn 19 fn 1 5 fn 2 fn 3).

 

 

 

 

 

 

 

 

 

 

24

 

 

 

 

 

 

Неявные методы содержат искомое значение yn нелинейным образом, поэтому для его нахождения применяют итерационные методы решения нелинейных уравнений.

6.3 Численное интегрирование жестких систем обыкновенных дифференциальных уравнений

Жесткие системы можно сравнить с плохо обусловленными системами алгебраических уравнений.

Рассмотрим систему дифференциальных уравнений(ДУ)

 

 

 

 

 

 

 

 

 

du

f(t,u),

(6.21)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

dt

 

где

u

(0)

u

0. Для решения (6.21) рассмотрим разностные методы вида

 

1

m

 

 

m

 

 

 

 

 

 

 

 

ak

yn k bk f(tn k ,yn k ),

(6.22)

 

 

 

 

 

τ

 

 

 

 

 

k 0

 

 

k 0

 

где n= m, m+1, m+2,….

Устойчивость и сходимость методов (6.22) определяется расположением корней характеристического уравнения, т.е. |q| 1 - корни принадлежат единичной окружности. Среди методов (6.22) выделим те, которые позволяют получить асимптотически устойчивые решения.

Пример. В качестве частного случая (6.21) рассмотрим уравнение вида

 

 

 

du

u

,

(6.23)

 

 

 

 

 

 

 

dt

 

 

где: u(0) u0 ;

<0;

u(t) u0e t - решение

ДУ. При

<0 решение есть

монотонно убывающая функция при t . Для этого решения можно записать при любом шаге >0

u(t )

 

u(t)

,

(6.24)

что означает устойчивость решения.

Рассмотрим для задачи (6.23) метод Эйлера

66

yn 1 yn yn ,

где: n=0, 1, 2, …, yn 1 q yn , q-промежуточный параметр, равный 1+ . Оценка (6.24) для метода Эйлера будет выполнена тогда и только тогда,

когда |q| . Шаг лежит в интервале 0 < < . Метод Эйлера для задачи (6.23) устойчив при выполнении этого условия.

Определение 1. Разностный метод (6.22) называется абсолютно устойчивым, если он устойчив при любом >0.

Определение 2. Разностный метод называется условно-устойчивым, если он устойчив при некоторых ограничениях на .

Например, метод Эйлера для (6.23) условно-устойчив, т.к. 0 < < . Примером абсолютно устойчивого метода является неявный метод Эйлера

yn 1 yn yn 1,

q (1 ) 1 1.

Замечание. Условная устойчивость является недостатком явных методов в связи с тем, что приходится выбирать мелкий шаг интегрирования.

Пример для задачи (6.23). Если =-200, тогда 0.01. Если мы рассмотрим интервал (0,1], то необходимо будет 100 шагов. Неявные методы со своей стороны приводят к решению на каждом шаге нелинейного уравнения, но это уже недостаток неявного метода.

6.3.1 Понятие жесткой системы ОДУ

Замечание. Все вышерассмотренные методы легко реализуются на примере одного уравнения и легко переносятся на системы ДУ, но при решении систем возникают дополнительные трудности, связанные с разномасштабностью описанных процессов.

Рассмотрим пример системы двух уравнений:

 

d u1

 

a

u

0

 

 

 

 

dt

1

1

,

 

 

 

 

 

du

2

 

 

a2

u2

0

 

 

 

 

 

dt

 

 

 

где: t >0; a1,a2>0. Это система однородных независимых ДУ

67

 

 

a

t

 

u (t) u (0) e

1

 

.

1

1

a2

t

 

 

 

u2(t) u2(0) e

 

 

 

Решение монотонно убывает с ростом t. Пусть коэффициент а2 на порядок и выше больше а1, т.е. а2>>a1. Тогда компонента u2 затухает гораздо быстрее u1, начиная с некоторого момента времени t и тогда решение задачи u(t) полностью будет определяться поведением компоненты u1. Однако при численном решении данной задачи шаг интегрирования будет определяться компонентой u2, несущественной с точки зрения поведения решения системы. Рассмотрим метод Эйлера для решения данной системы

u

(n 1)

u

(n)

(n)

 

 

 

1

 

1

a u

0

 

 

 

 

1

 

 

τ

 

 

.

 

 

 

 

 

 

u2(n)

 

u2(n 1)

(n)

 

 

 

 

 

 

a u

2

0

 

 

τ

 

 

 

 

 

 

 

Он будет устойчив, если на наложены ограничения

τa1 2 .

τa2 2

Учитывая, что a2 >>a1, получаем окончательное ограничение на

2 . a2

Такие трудности могут возникнуть при решении любых систем ОДУ. Рассмотрим в качестве примера систему

du

A u,

(6.25)

 

dt

 

где А-квадратная матрица m*m. Если матрица А имеет большой разброс собственных чисел, то возникают проблемы с разномасштабностью описываемых системой процессов.

Допустим, что матрица А постоянна (т.е. не зависит от t). Тогда система (6.21) будет называться жесткой, если:

1) вещественные части собственных чисел k 0 для всех k, где

к=1,…,m;

68

2) число S

max|Re k |

велико (десятки и сотни), и число

S

min|Re k |

 

 

 

 

называется числом жесткости системы.

 

 

Если же матрица А зависит от t, то и собственные числа зависят от t

и

k зависят от t.

 

 

Решение жесткой системы (6.25) содержит как быстроубывающие, так и медленно убывающие составляющие.

6.3.2 Некоторые сведения о других методах решения жестких систем

Разностные методы (6.22) для решения жестких систем на практике используются в виде методов Гира (неявный разностный метод) и метода матричной экспоненты(метод Ракитского).

6.3.2.1 Методы Гира

Это частный случай методов (6.22), когда коэффициент b0 1, b1 ,...,bm 0 . Запишем числовые коэффициенты, которые определяются из

условия p-го порядка точности аппроксимации

системы разностными

методами

 

 

 

 

 

m

m

 

m

 

 

a0 ak ;

k ak

1;

kl ak

0,

k 1

k 1

 

k 1

 

(6.26)

 

 

 

где l=2,...,p.

Решив систему линейных уравнений (6.26) с учетом предыдущих условий, получаем все нужные коэффициенты.

Трехшаговый метод Гира (частный случай методов (6.22) с учетом условий (6.26)) имеет вид

 

11

yn 3 yn 1

3

yn 2

 

1

yn 3 f (tn,yn ).

(6.27)

6

2

 

 

 

3

 

 

При m=4, получаем четырехшаговый метод Гира

25 yn

48 yn 1

36 yn 2

16 yn 3

3 yn 4

f(tn,yn ). (6.28)

 

 

12 τ

 

 

 

 

 

 

 

Запишем систему (6.26) в виде

69

a1 2 a2 ....

m am 1

 

 

a

2

2 a

2

....

 

m

2

a

m

0

 

 

1

 

 

 

 

 

 

 

 

.

(6.29)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

......................................

 

 

a

2

m a

2

....

 

m

m

am

0

 

 

1

 

 

 

 

 

 

 

 

 

 

Решив (6.29) для каждого случая можем найти коэффициенты ak , к=1,2,…,т.

6.3.2.2 Метод Ракитского(матричной экспоненты) решения систем ОДУ

du

A u,

(6.30)

 

dt

 

где: u (u1,..., un ) ; u(0) u0 ; А-матрица размерности n*n.

Допустим, что матрица А - постоянная, т.е. ее элементы не зависят от времени. Система (6.30)–однородная, с постоянными коэффициентами.

Запишем аналитическое решение (6.30)

 

 

 

 

u eAt u0,

 

(6.31)

где eAt-матричная экспонента и

 

 

 

 

eAt E A t

(A t)2

...

(A t)n

+….

(6.32)

 

n!

2!

 

 

Пусть необходимо (6.30) проинтегрировать при значениях t= , 2 , 3 ,…. Если точно знать матрицу eA , то точное решение в указанных точках

можно получить по формуле (6.31), т.е. решение можно записать

u|t eA u0; u|t 2 eA u x ;

……………..…

Таким образом, задача сводится к тому, чтобы достаточно точно знать матрицу eA . На практике поступают следующим образом: при больших рядом Тейлора нельзя воспользоваться в связи с его бесконечностью, т.е. для удовлетворительной точности пришлось бы взять много членов ряда, что трудно. Поэтому поступают так: отрезок [0, ] разбивают на к-частей, чтобы длина h= /к удовлетворяла условию ||A*h||<0.1. Тогда запишем по схеме Горнера

70

Соседние файлы в папке DiVM