Файл: Вычислит.матем_пособие.pdf

Добавлен: 06.02.2019

Просмотров: 4496

Скачиваний: 4

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

 

61 

Определение 2. Метод имеет  р-й порядок точности, если существует 

такое  число    р>0,  для  которого 

),

(

)

(

p

n

n

O

t

u

y

  при   

,  где:  -  шаг 

интегрирования; O-малая величина порядка 

p

Так  как 

)

(

)

(

1

O

t

u

u

u

n

n

n

,  то  метод  Эйлера  имеет  первый 

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

 
6.1.2 Методы Рунге-Кутта 
 
Метод Рунге-Кутта второго порядка точности 
 
Отличительная  особенность  методов  Рунге-Кутта  от  метода  (6.5) 

заключается  в  том,  что  значение  правой  части  уравнения  вычисляется  не 
только  в  точках  сетки,  но  и  также  в  середине  отрезков(промежуточных 
точках). 

Предположим,  что  приближенное  значение 

n

  решения  задачи  в 

точке  

n

t

t

 уже известно. Для нахождения 

1

n

y

 поступают так: 

1) используют схему Эйлера в таком виде 
 

)

,

(

5

,

0

2

1

y

t

f

y

y

n

n

n

n

 

(6.6) 

 

и отсюда вычисляют 

2

1

n

y

2) воспользуемся разностным уравнением вида 

 

)

,

5

,

0

(

2

1

1

n

n

n

n

y

t

f

y

y

(6.7) 

 

откуда найдем значение 

1

n

y

. Далее подставим значение 

5

,

0

2

1

n

n

y

y

 в 

уравнение (6.7). Тогда 

 

)

f

τ

,

τ,y

,

f(t

τ

y

y

n

n

n

n

n

5

0

5

0

1

(6.8) 

                                                                                

где  

)

,

(

n

n

n

y

t

f

f

Можно показать, что метод (6.8) имеет второй порядок точности, т.е. 

)

(

)

(

2

O

t

u

y

n


background image

 

62 

Метод (6.8) называется методом прогноза и коррекции в том смысле, 

что на первом этапе решение как бы предсказывается с точностью 

)

O(τ

, а 

на втором этапе - с точностью до 

)

(

2

O

(второй порядок точности). 

Будем рассматривать явные методы. Задаем числовые коэффициенты  

i

ij

,  i=2,...,m;  j=1,2,...,(m-1)  и    =1,2,...,m  .  Последовательно  вычисляем 

функции 

 

)

,y

f(t

k

n

n

1

)

k

τ

b

τ,y

a

f(t

k

n

n

1

21

2

2

)

k

τ

b

k

τ

b

τ,y

a

f(t

k

n

n

2

32

1

31

3

3

…………………………………………….. 

)

k

τ

b

...

k

τ

b

τ,y

a

f(t

k

m

mm

m

n

n

n

n

1

1

1

1

 

Затем из формулы 

m

i

i

i

n

n

k

y

y

1

1

 находим значения 

1

n

y

. Здесь 

ij

i

b

,

,

i

-числовые  параметры,  которые  определяются  или  выбираются  из 

соображений точности вычислений.  

При  m=1  и  =1  получается  метод  Эйлера,  при  m=2  получаем 

семейство методов 

 

)

(

2

2

1

1

1

k

k

y

y

n

n

(6.9) 

 

где: 

)

,

(

1

n

n

y

t

f

k

)

,

(

1

21

2

2

k

b

y

a

t

f

k

n

n

y

0

=u

0

Семейство определяет явные методы Рунге-Кутта. Подставив нужные 

1  

и 

2

, получаем окончательную формулу. Точность этих методов совпадает 

с точностью аппроксимирующего метода и равна 

)

(

2

O

. 

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

величина  

 

))

,

(

,

(

)

,

(

21

2

2

1

1

n

n

n

n

n

n

n

n

n

u

t

f

b

u

a

t

f

u

t

f

u

u

 

полученная заменой в (6.9) приближенного решения точным решением. 

При 

1

+

2

=1 получим первый порядок точности. Если же потребовать 

дополнительно 

5

,

0

2

2

21

2

a

b

,  то  получим  методы  второго  порядка 

точности вида  

 

))

,

(

,

(

)

,

(

)

1

(

1

n

n

n

n

n

n

n

n

y

t

f

a

y

a

t

f

y

t

f

y

y

  

 


background image

 

63 

при 

5

,

0

a

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

)

k

k

(k

τ

y

y

n

n

3

2

1

1

4

6

1

 

где: 

 

)

,

(

1

n

n

y

t

f

k

 

 

 

 

)

k

,y

τ

f(t

k

n

n

1

2

2

2

)

2

,

(

2

1

3

k

k

y

t

f

k

n

n

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

 

)

k

k

k

k

(

τ

y

y

n

n

4

3

2

1

1

2

2

6

1

 

где: 

;

1

)

y

,

t

f(

k

n

n

 

;

2

2

1

2

)

k

τ

y

,

τ

t

f(

k

n

n

 

;

2

2

2

3

)

k

τ

y

,

τ

t

f(

k

n

n

 

.

3

4

)

k

τ

y

τ,

t

f(

k

n

n

 

 

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

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

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

)

,

u

t

f

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

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

n

-невязка 

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

T

n

 

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

 

n

T

n

n

Te

t

u

y

max

)

(

 

где: 

1

)

1

(

m

Lb

Lm

i

i

max

ij

j

i

b

b

,

max

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

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

n

y

- решение при шаге  а 

2

2n

y

- при шаге 

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

n

n

n

n

y

y

t

u

y

2

2

2

2

15

16

)

(

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

 

15

max

2

2n

n

i

y

y

                                                                      

 


background image

 

64 

 
6.2 Многошаговые разностные методы решения задачи Коши для 

обыкновенных дифференциальных уравнений 

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

уравнения 

 

)

,

u

t

f

dt

du

, 

(6.10) 

 

где 

0

)

0

(

u

u

. 

Для  решения  задачи  Коши  для  уравнения  (1)  при  t>0  введем 

равномерную сетку с постоянным шагом    

,...

,

τ,n

n

t

ω

n

τ

1

0

Введем  понятие  линейного  m  шагового  разностного  метода  для 

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

 

m

n

m

n

n

m

n

m

n

n

f

b

...

f

b

f

b

τ

y

a

...

y

a

y

a

1

1

0

1

1

0

(6.11) 

 

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

k

k

b

,

a

-числовые  коэффициенты  не  зависящие  от  n; 

k=0,1,…,m

Систему (6.11) будем рассматривать как рекуррентные соотношения, 

выражающие  новое  значения 

)

(

n

n

t

y

y

  через  ранее  найденные  значения 

m

n

n

n

y

y

y

,...,

,

2

1

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

 

0

1

1

0

0

1

1

0

f

b

...

f

b

f

b

τ

y

a

...

y

a

y

a

m

m

m

m

m

m

 

Отсюда  следует,  что  для  начала  расчета  по  формулам  (6.11)  надо  знать  m 
предыдущих  значений  функции  y,  причем  y

0

=u

0

  .  Эти  предыдущие  m 

значений могут быть найдены одним из одношаговых методов Рунге-Кутта.  

Отличие  от  одношаговых  методов  состоит  в  том,  что  по  формулам 

(6.11) расчет ведется только в точках сетки. 

 
Определение.  Метод  (6.11)  называется  явным,  если  коэффициент 

b

0

=0.  Тогда  значение 

n

    легко  выражается  через 

m

n

n

n

y

y

y

,...,

,

2

1

.  В 

противном случае метод называется неявным, и для нахождения y  придется 
решать нелинейное уравнение вида 

 

m

k

k

n

k

k

n

k

n

n

n

)

y

τ

a

t

(b

)

,y

f(t

b

y

τ

a

1

0

0

(6.12) 


background image

 

65 

 
Обычно  это  уравнение  решают  методом  Ньютона  при  начальном 

значении 

1

)

0

(

n

n

y

y

.  Коэффициенты  уравнения  (6.11)  определены  с 

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

условие 

m

k

k

b

0

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

правую часть уравнения (6.10). 

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

Адамса,  т.е.  когда  производная 

)

(t

u

  аппроксимируется  разностным 

отношением, включающим две соседние точки 

n

  и 

1

n

t

. Тогда 

1

1

0

a

a

k

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

 

m

k

k

n

k

n

n

f

b

y

y

0

1

(6.13) 

 
Это и есть методы Адамса. При b

0

=0 метод будет явным, в противном 

случае - неявным. 

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

к

 , b

к

  

 
Выясним,  как  влияют  коэффициенты  a

k

,  b

k

  на  погрешность 

аппроксимации уравнения (6.11), на устойчивость и сходимость.  

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

(6.11)  называется функция  

 

m

k

m

k

k

n

k

n

k

k

n

k

n

u

t

f

b

u

a

r

0

0

)

,

(

(6.14) 

 

где 

)

(t

u

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

Если  разложить  функции 

)

,

(

k

t

u

u

n

k

n

  в  ряд  Тейлора  в  точках 

n

t

t

 равномерной сетки, окончательно получим функцию 

 

p

l

p

n

l

m

k

k

k

l

n

m

k

k

n

O

l

t

U

b

l

k

a

k

t

U

a

r

1

)

(

0

1

0

)

(

)!

1

(

)

(

)

)

(

)

(

(

)

(

)

(

.  (6.15) 

 
Из вида функции 

n

 следует, что порядок аппроксимации будет равен 

p, если выполнены условия