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

KKOSHI

.pdf
Скачиваний:
5
Добавлен:
27.03.2015
Размер:
547.29 Кб
Скачать

метод разложения в ряд Тейлора можно применить покомпонентно. А именно, разложим каждую из функций yi(x); i = 1; s в ряд Тейлора в окрестности точки xn

dyi

h2 d2yi

yi (xn + h) = yi(xn) + h

 

(xn) +

 

 

 

(xn) + : : : :

dx

2

dx2

Обрывая этот ряд, получаем соответствующие обобщения методов п. 1.2. Например, отбрасывая члены порядка h3 и выше, получаем в покомпонентной форме

yni +1 =i

yni

s+ h ³i fi(xn; yn1; yn2; : : : ; yns)+

;

(24)

+h2 Ã@f@x +

=1 @y@fj fj(xn; yn1

; yn2; : : : ; yns)!!

 

jP

 

 

 

i= 1; s:

Ввекторной записи этот метод тождественен по форме методу (5) для скалярного уравнения:

yn+1 = yn + h Ãf(xn; yn) +

h

f0(xn; yn)! ;

(25)

2

где теперь

f0(x; y) ´ @f@x(x; y) + J(x; y)f(x; y); J(x; y) ´ (@fi=@yj) - матрица Якоби функции f.

Методы Рунге-Кутты, рассмотренные выше, также можно применять к системам, заменив скаляры y; f; '; kj; j = 1; m; соответствующими s- мерными векторами.

Идея построения многошаговых методов состоит в приближенном вычислении интегралов в системе интегральных уравнений

x+³

yi(x + ³) = yi(x) + xR fi(t; y1(t); y2(t); : : : ; ys(t))dt; y(a) = y0; i = 1; s;

эквивалентных задаче Коши (23). Для получения разностных схем вида (15)-(19), достаточно повторить рассуждения предыдущего раздела, считая yn+j; Fn+j; j = 0; k s-мерными векторами.

Задачу Коши для уравнения p-го порядка, разрешенного относительно старшей производной

8 y(p)(x) = f(x; y0(x); y00(x); : : (:p; y1)

 

¡

1)

); x 2 [a; b];

(26)

(p

 

 

 

< y(a) = ¯1; y0(a) = ¯2; : : : ; y ¡

(a) = ¯p;

 

:

 

 

 

 

 

11

сводят введением новых функций

yi(x) ´ y(1)(x); i = 1; p;

к эквивалентной задаче Коши для системы первого порядка

8

>

> d yi(x) = yi+1 (x) ; i = 1; p ¡ 1

> dx

< d yp(x) = f(x; y1(x); y2(x); : : : ; yp(x))

> dx

>

>: y1(a) = ¯1; y2(a) = ¯2; : : : ; yp(a) = ¯p:

Для численного решения этой системы можно применять методы, изложенные в настоящем пункте выше.

Методы Рунге-Кутты и многошаговые методы также допускают обобщения на случай задачи (26) (см. [4], [5]).

2Устойчивость pазностных схем

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

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

Пусть u (x) ; v (x) - решения задачи Коши (23) с начальными данными u(0) = u0; v(0) = v0. Их разность z (x) удовлетворяет системе линейных

уравнений

dxdz = ¤ (x) z;

где ¤ (x) - матрица Якоби вектор-функции f(x; y), вычисленная в неко-

торых средних точках uk (x) ;

k =

 

:

 

 

 

1; s

 

 

´

f (x; u (x)) ¡ f (x; vs(x)) ´

i=1 i@xi (x; uki(x)) ³u (x) ¡ v (x)´

k

k

P

s @fk

i

i

 

´ Pi=1 ¤ki (x) ³u (x) ¡ v (x)´ :

12

Поэтому задачу

 

 

dz

¡ ¤ (x) z = 0; z(0) = z0;

(27)

dx

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

Вопросам устойчивости решений линейных систем посвящена обширная литература (см., например,[1]). В частности, в случае постоянной матрицы ¤ для асимптотической устойчивости решения задачи (27) по возмущению начальных данных достаточно, чтобы матрица была самосопряженной, отрицательно определенной4. При этом для решения задачи выполняется оценка

kz (x) k · e¸1xkz(0)k; x > 0;

где ¸1 < 0 - наименьшее по модулю собственное число матрицы ¤: Аналогичные подходы используются и при изучении свойств устойчи-

вости вычислительных алгоритмов решения задачи Коши. Прежде чем давать более или менее строгие определения устойчивости вычислительных алгоритмов решения задачи Коши рассмотрим несколько примеров [3] для модельного уравнения

8

< u0 + ®u = 0; x > 0 (28)

: u(0) = u0:

Точным решением уравнения (28) является функция u(x) = u0e¡®x. Это решение при ® > 0 убывает с ростом x : ju(x)j · ju0j e¡®x ! 0 и непрерывно зависит от начального значения u0. Естественно ожидать выполнения этих условий и для приближенного решения задачи.

Пример 1. Устойчивая схема.

Задачу (28) на равномерной сетке !h = fxi = ih; i = 0; 1; : : :g аппроксимируем неявной схемой Эйлера

yi = y1 ¡ h®yi; y0 = u0; i = 1; 2; : : : :

Переписывая это уравнение в виде

1

yi = 1 + ®hy1; y0 = u0; i = 1; 2; : : : :

получаем

Ã

 

 

!i y0; i = 1; 2; : : : :

yi =

1

 

1 + ®h

 

 

 

4Т.е. симметричной и удовлетворяющей условию (¤y; y) < 0 8y =6 0. Заметим, что любая отрицательно определенная матрица обратима.

13

Рассмотрим фиксированную точку x сетки !h и выберем такую последовательность шагов h, чтобы точка x все время оставалась узловой точкой, т.е. x = i0h. Тогда при измельчении сетки (h ! 0) номер i0; соответствующий выбранной точке x, неограниченно возрастает. Значение приближенного решения в этой точке

yi0

= Ã

1

 

!i0

y0:

 

 

 

 

 

1 + ®h

 

Так как 1= j1 + ®hj < 1, то

 

 

 

 

 

 

jyi0j · j

1

 

ji0

jy0j < jy(0)j:

 

1 + ®h

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

Пример 2. Неустойчивая схема.

Для решения задачи (28) на равномерной сетке !h рассмотрим схему

 

8

y

y

 

 

y

+1

 

yi

 

 

 

(29)

 

¾

i¡h1 + (1 ¡ ¾) i

h¡

 

+ ®yi

= 0

 

< y0 = u0; y1 = u0; i = 1; 2; : : : ;

 

 

 

 

:

 

 

 

 

 

 

 

 

 

 

 

 

где ¾ > 1 - числовой параметр. Решение задачи (29) имеет вид

 

 

 

 

yi = As1i + Bs2i ;

 

 

(30)

где

 

2¾ ¡ 1 + ®h § q

 

 

 

 

 

 

 

 

s1;2

´

1 + 2(¾ ¡ 1)®h + ®2h2

;

 

 

 

2(¾

¡

1)

 

 

 

 

 

 

 

u0 ¡ s2u0

 

 

 

s1u0 ¡ u0

 

 

 

 

A

´

; B

´

 

:

 

 

 

 

s1 ¡ s2

 

 

s1 ¡ s2

 

 

 

Так как ¾ > ¾ ¡1 > 0; то s1s2 > 1. Кроме того, s2 < 1; s1 > 1 при любых значениях ®h: Из (30) видно, что yi ! 1 при i ! 1; если A 6= 0:

Таким образом, при фиксированном h схема (29) приводит к нарастанию решения с ростом xi = ih. Сгущение сетки (т.е. уменьшение h) приводит к нарастанию решения в фиксированной точке x = i0h; так как i0 = x=h растет с уменьшением h. Малое изменение начальных данных u0; u0 приводит при h ! 0 к неограниченному возрастанию ошибки в любой заданной точке.

14

Сравнительно просто дать определение устойчивости и привести критерии устойчивости для двухслойных разностных схем для модельной

задачи

8 dxdu + A(x)u = '(x); x > 0

 

 

(31)

 

< u(0) = u0:

 

 

:

 

Здесь A (x) - квадратная матрица порядка s £ s с элементами, зависящими от x, u(x); '(x) - вектор-функции размерности s.

Под двухслойной схемой понимают разностное уравнение, связывающее значение вектора y(x) для двух слоев значений аргументов x = xn и x = xn+1. В канонической форме это соотношение задают в виде:

8

B n

h¡

 

+ Ayn = 'n

(32)

< n = 0; 1; 2; : : : ; y0 = u0;

 

 

y

+1

yn

 

 

:

где B; A - квадратные матрицы порядка s £ s, yn; 'n - векторы размерности s. Если B = E - единичной матрице, то каноническую схему (32) называют явной, в противном случае - неявной.

Конкретные часто используемые схемы:

² чисто неявная схема (B = E + hA)

8

< yn+1¡yn + Ayn+1 = 'n

h

:n = 0; 1; 2; : : : ; y0 = u0;

³´

²симметричная схема B = E + 12hA

8

h¡ + 2A(yn + yn+1) = 'n

< n = 0; 1; 2; : : : ; y0 = u0;

 

yn+1

yn

1

:

² схема c весами (B = E + ¾hA)

8

< yn+1¡yn + A((1 ¡ ¾)yn + ¾yn+1) = 'n

h

: n = 0; 1; 2; : : : ; y0 = u0:

(33)

(34)

(35)

Пусть k:k(1),k:k(2) - некоторые нормы в Rs.

Определение. Каноническую схему (32) назовем устойчивой по начальным данным и правой части, если существуют положительные постоянные M1; M2; не зависящие от h; n; y0; 'n;такие, что для решения yn задачи (32) имеет место оценка

y

nk(1)

·

M

y

0k(1)

+

M

2

max

'

kk(2)

:

(36)

k

 

1k

 

0·k·n¡1 k

 

 

15

Удобным средством исследования устойчивости канонической схемы оказывается следующее понятие равномерной устойчивости.

Определение. Каноническую схему (32) назовем равномерно устой-

чивой по начальным данным, если существует положительная постоянная ½, не зависящая от h; n; y0, такая, что для решения однородной задачи (32)

 

8

B n

h¡

 

+ Ayn = 0

(37)

 

< n = 0; 1; 2; : : : ; y0 = u0;

 

 

 

y

+1

yn

 

 

имеет место оценка

:

 

 

 

 

 

kyn+1k(1) · ½kynk(1); n = 0; 1; : : : :

Переписав уравнение (37) в операторной форме

yn+1 = Syn;

где S ´ E ¡hB¡1A - оператор перехода, нетрудно показать, что введенное выше условие равномерной устойчивости эквивалентно ограниченности нормы оператора перехода:

kSk · ½:

(38)

С другой стороны, можно показать, что из равномерной устойчивости схемы по начальным условиям вытекает ее устойчивость по начальным данным и правой части с постоянными M1; M2, вычисляемыми через

 

°

°

постоянную ½, и нормой k'k(2) ´ °B¡1

'°(1).

Наконец, условие

ограниченности нормы оператора перехода (38) лег-

°

°

ко выразить в терминах исходных операторов A; B.

Пусть D - самосопряженная положительная матрица. Вводя в Rs энергетическую норму q

kykD ´ (Dy; y);

где (¢; ¢) - скалярное произведение, превратим это линейное пространство в нормированное пространство HD.

Теорема. Если A - самосопряженная положительная матрица и существует обратная матрица B¡1; то для равномерной устойчивости (с постоянной ½ = 1) канонической схемы (32) по начальным данным в HA:

kynkA · ky0kA;

необходимо и достаточно, чтобы выполнялось неравенство

h

(By; y) ¡ 2(Ay; y) ¸ 0 8y 2 Rs;

16

или

h

 

B ¸

(39)

 

A:

2

Таким образом, для исследования устойчивости конкретной двухслойной схемы достаточно записать ее в канонической форме (32), определить соответствующие операторы A; B и проверить для них выполнение условий данной теоремы.

Вчастности, для чисто явной схемы (B = E) условие устойчивости

(39)можно записать в виде

h · kA2k:

Схема с весами (35) устойчива для любых h > 0 (безусловно устойчива),

если ¾ ¸ 12; и условно устойчива при h(12 ¡ ¾)kAk · 1, если ¾ < 12:

Поэтому схемы (33) и (34) являются безусловно устойчивыми.

2.1Погрешность аппроксимации и сходимость приближенного решения

Пусть u(x) - точное решение задачи (31), yn - решение, полученное с помощью канонической схемы (32). Величину zn ´ yn ¡ u(xn) назовем погрешностью решения. Подставляя yn в (32) получим уравнения для погрешности решения

 

 

8 B n

h¡

 

 

+ Azn = Ãn

 

 

(40)

 

 

< n = 0; 1; 2; :::; z0 = 0;

 

 

 

 

z

+1

zn

 

 

 

 

 

 

где

 

:

 

 

 

 

 

 

u (xn+1) ¡ u(xn)

 

 

Ã

'

n ¡

Au(x

 

)

¡

B

 

 

n ´

 

 

 

n

 

 

 

h

 

- величина, которую называют погрешностью аппроксимации для схемы (32) на решении u(x) исходной задачи (31) (невязкой). При этом говорят, что схема (32) имеет m¡ый порядок аппроксимации на решении задачи (31), если для невязки Ãn выполняется оценка

nk(2) = O(hm):

Далее, говорят, что схема (32) имеет m-ый порядок точности или

сходится со скоростью O(hm), если

kznk(1) = O(hm);

17

т.е.

kznk(1) · Mhm;

где M > 0 - постоянная, не зависящая от h; n.

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

 

u(xn+1) = 0u + h du + h

 

 

 

d

 

2

1 x=xn+ 1 + O(h3);

(41)

 

 

 

@

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

2u

A j

 

 

 

 

 

 

 

2 dx

 

 

 

8 dx

 

2

 

 

u(xn) =

0u

 

h du + h d

 

 

2

1 x=xn+ 1 + O(h3);

(42)

 

 

 

@

¡

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

2u

A j

 

 

 

 

 

2

 

dx

 

 

 

8 dx

 

2

 

где xn+

21 ´ xn + h=2.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вычитая из равенства (41) равенство (42), имеем

 

 

 

u(xn+1) ¡ u(xn)

 

=

du

x=x

 

1 + O(h2):

(43)

 

 

 

 

 

 

 

h

 

 

 

dxj

 

 

 

n+

2

 

Используя (42),(43), для погрешности аппроксимации будем иметь равенство

Ãn

= 'n

 

 

Au + B

du

 

! j

x=x

 

 

 

 

+

h

A

du

 

x=x

1 + O(h2) =

 

 

 

dx

 

 

1

 

 

 

 

¡

 

 

¡ Ã

 

 

 

 

 

 

 

 

n+

2

 

 

 

 

2 dxj

 

 

n+

2

! dxj

 

 

 

n+2

 

Ã

 

¡

 

 

¡ dx

! j

 

 

 

n+

2

Ã

¡

 

 

 

 

2

 

 

n+

2

 

= 'n '(x

1 )+ '

 

 

Au

 

 

 

du

 

 

 

x=x

 

 

 

+ E

B +

h

A

du

x=x

 

 

+O(h2) =

 

 

 

 

Ã

 

 

 

 

 

1

 

 

 

 

 

1

 

 

¡

 

 

n+2

 

 

 

 

¡

 

 

 

 

 

 

2

 

 

! dxj

 

n+ 2

 

 

 

 

 

 

 

 

 

= 'n

 

 

'(x

 

1 ) + E

 

 

 

B +

h

A

 

 

du

x=x

 

 

+ O(h2):

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

Отсюда видно, что при выполнении условий

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k'n ¡ '(xn+21 )k(2) = O(hm); m =

 

 

;

 

 

 

 

 

 

 

 

1; 2

 

 

 

 

 

 

ÃE

 

 

B +

h

A!

du

 

 

(2) = O(hm); m =

 

;

 

 

 

 

 

 

 

 

 

 

1; 2

 

 

 

 

k

¡

 

dxk

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

схема (32) имеет m-ый порядок аппроксимации.

 

 

 

 

 

 

 

 

 

 

 

 

 

В частности, для чисто явной схемы (B = E)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ÃE

 

 

 

B +

h

A!

du

 

(2) = O(h):

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k

¡

 

 

dxk

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Поэтому, если

k'n ¡ '(xn+12 )k(2) = O(h);

18

то чисто явная схема имеет 1-ый порядок аппроксимации.

Для симметрической схемы ³B = E + h2 A´

 

ÃE

¡

B +

h

A!

du

 

(2)

= 0

 

 

k

 

2 dxk

 

 

и поэтому при

k'n ¡ '(xn+12 )k(2) = O(h2)

порядок аппроксимации - 2-ой.

Рассмотрим далее вопрос о сходимости приближенного решения, полученного с помощью канонической схемы (32) к точному решению исходной задачи (31). Предполагая, что схема (32) устойчива из (36) имеем

kznk(1) · M max kk(2):

0·k·n¡1

Считая, что схема (32) имеет некоторый порядок аппроксимации, полу-

чаем, что kznk(1) ! 0 при h ! 0.

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

3Практическая часть

3.1Вопросы для самопроверки

1.Метод разложения в ряд Тейлора построения разностных схем для задачи Коши.

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

3.Неявные методы Рунге-Кутты.

4.Многошаговые методы Адамса.

5.Метод Эйлера для решения систем обыкновенных дифференциальных уравнений.

6.Каноническая двухслойная схема для задачи Коши; схема с весами.

7.Понятие устойчивости разностной схемы по начальным данным и правым частям; равномерная устойчивость по начальным данным.

8.Критерии устойчивости канонической схемы.

9.Порядок аппроксимации и скорость сходимости разностной схемы.

19

3.2Варианты заданий лабораторной работы

В лабораторной работе требуется найти решение задачи Коши. Варианты заданий приведены в таблице 1. В каждом задании необходимо:

a)для заданного уpавнения провести теоретическое исследование устойчивости и поpядка аппpоксимации заданного метода численного pешения;

b)написать программу для решения заданной задачи Коши заданным методом;

c)решить заданную задачу Коши с помощью подпрограммы RKF45, приведенной в приложении и найти точное решение;

d)провести сравнение, полученных решений в табличной и графической форме.

Таблица 1.

 

Уравнение

 

Начальные

Область

Точность

Метод

 

 

 

 

условия

решения

 

решения

 

y00 + y = sin(x)

 

y(0) = 1; y0(0) = 0

[0; 2¼]

0.01

Рунге-Кутты

 

 

 

 

 

 

 

2-го поpядка

 

y00 + y = cos(x)

 

y(0) = 1; y0(0) = 0

[0; 2¼]

0.01

Хойна

 

y00 ¡ y = exp(x)

 

y(0) = 1; y0(0) = 0

[0; 2]

0.01

Батчера

 

y00 ¡ y = exp(¡x)

 

y(0) = 1; y0(0) = 0

[0; 2]

0.01

Эйлера

y00 ¡ 2y0 + y = exp(x)

y(0) = 1; y0(0) = 0

[0; 2]

0.01

Чисто неявная

 

 

 

 

 

 

 

схема

y00

+ 2y0

+ y = exp(

x)

y(0) = 1; y0(0) = 0

[0; 2]

0.01

Тейлора

 

 

¡

 

 

 

 

2-го поpядка

 

 

 

 

 

 

 

y00 + 2y0 + y = xexp(

x)

y(0) = 1; y0(0) = 0

[0; 2]

0.01

Рунге-Кутты

 

 

¡

 

 

 

4-го поpядка

 

 

 

 

 

 

 

y00

+ 2y0

+ 2y = xsin(x)

y(0) = 1; y0(0) = 0

[0; 2¼]

0.01

Симметричная

 

 

 

 

 

 

 

схема

y00

+ 2y0

+ 2y = xcos(x)

y(0) = 1; y0(0) = 0

[0; 2¼]

0.01

Мерсона

3.3Требования к программам

Подпрограмму, реализующую алгоритм решения задачи Коши, следует сделать независимой от конкретного вида уравнения и начальных данных. Этого можно достичь выносом вычисления правых частей в отдельную подпрограмму. Так, например, как это сделано в подпрограмме RKF45, представленной в приложении.

20

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