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

Schisla_3

.pdf
Скачиваний:
10
Добавлен:
13.02.2015
Размер:
699.4 Кб
Скачать

31

крайней мере, не растет. Если lj = 1 имеет кратность q, то yj растет как j1.

Таким образом, чтобы построить k – шаговый разностный метод, надо выбрать коэффициенты ai и bi, i = 0; 1; : : : ; k так, чтобы имели место аппроксимация (tm = O(hs+1)) и устойчивость (все корни характеристического уравнения mj 6 1).

При анализе устойчивости, как правило, пренебрегают членами порядка 0(h), то есть вместо (2.20) рассматривается разностное уравнение

Xk

ajem¡j = 0; m = k; k + 1; : : : ; n:

j=0

Метод называется 0- устойчив (или D- устойчив в честь Далквиста), ес-

ли корни характеристического уравнения Pk aj¸j = 0 лежат внутри или

j=0

на единичной окружности, причем корни, лежащие на единичной окружности, простые.

Методы Адамса 0- устойчивы, так как соответствующее им характеристическое уравнения ¸k ¡ ¸1 имеет корни ¸ = 1, и ¸ = 0 - кратности k ¡ 1.

2.6.5Метод неопределенных коэффициентов

Для построения k-ого метода порядка s требуется выбрать такие коэффициенты aj и bj в схеме (2.18), чтобы аппроксимация имела порядок малости tm = O(hs+1).

k

k

X

Xj

tm =

ajum¡j ¡ h bjf(xm¡j; um¡j) = O(hs+1) m = k; k + 1; : : : ; n:

j=0

=0

Пусть решение задачи (2.13) достаточно гладкая функция, и ее можно разложить в ряд Тейлора

32

 

 

 

 

 

um¡j = u(xm ¡ jh) =

 

 

 

 

 

 

um(s)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

u00

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

=

u

m ¡

jhu0

+ (¡

jh

 

 

 

m

+ ¢ ¢ ¢ + (¡

jh

 

s

 

 

 

 

+

¯

 

 

;

 

 

 

 

 

 

 

 

 

 

2!

 

 

s!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m

)

 

)

 

 

 

 

 

m

 

 

 

 

 

 

 

 

 

f(xm¡j; um¡j) = u0(xm ¡ jh) =

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

um(s)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

jh 2

u000

 

 

 

 

 

 

 

jh 1

 

 

 

 

 

 

 

 

 

 

 

 

u0

jhu00

 

 

 

 

 

 

m

 

+ ¢ ¢ ¢ + (¡

 

 

 

 

 

 

°

 

;

 

 

 

 

=

 

 

 

 

 

 

2!

 

 

(s

 

1)! +

m

 

 

 

 

 

m ¡

 

 

m + (¡

 

)

 

 

 

 

)

 

 

 

¡

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

¯

mj 6

 

Ms+1

 

 

jh

s+1

,

°

 

 

Ms+1

jh s

,

M

 

 

 

 

 

max

 

u(s+1)(x)

j .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(s + 1)!

(

 

 

 

 

 

 

 

s!

(

 

 

 

 

 

 

здесь j

 

 

)

 

 

 

 

j mj 6

 

 

 

)

 

 

s+1 = a6x6b j

 

 

 

Подставим в tm эти разложения в (2.18) и, приведя подобные, получим

tm = E0 um + h E1 u0m + h2 E2 u00m + : : : + hs Esu(ms) + "m;

где

 

k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

E0 =

 

aj

 

 

 

 

 

 

 

 

 

 

 

 

 

 

=0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

jP k

 

 

k

 

 

 

 

 

 

 

 

 

 

E1 = ¡

P

j aj ¡

jP

bj

 

 

 

 

 

 

 

 

 

 

 

j=0

 

 

=0

 

 

 

 

 

 

 

 

 

 

: : : : : : : : : : : : : : : : : : : : : : : :

 

 

 

 

 

 

 

 

 

 

k

 

( j)p

 

 

k

( j)1

 

 

 

 

 

 

Xj

 

 

 

X

 

¡

 

 

 

 

 

 

E

=

 

 

¡

a

 

 

¡

 

 

b

;

p = 1; :::; s;

p

=0

 

p!

 

j ¡ j=0 (p

 

 

1)!

j

 

 

 

 

 

 

 

 

 

 

 

k

 

(j)s+1

 

k

(j)s

 

 

 

 

 

 

 

X

 

 

 

 

 

Xj

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(s)! jbjj:

"m 6 DMs+1hs+1; D =

 

(s + 1)!jajj ¡

 

 

 

 

 

 

 

j=0

 

 

 

 

 

=0

 

 

Если выбрать коэффициенты aj и bj так, чтобы E0 = : : : = Es = 0, тогда tm = O(hs+1). Эти равенства представляют собою систему s + 1 однородных линейных уравнений относительно 2k неизвестных (aj; bj, j=0,...,k-1). Такая система имеет бесконечное множество решений, если s < 2k. Для

выделения единственного решения можно потребовать, чтобы Pk bj = 1,

j=0

это эквивалентно условию Pk bjf(xm¡j; um¡j) ! u0m при h ! 0.

j=0

Итак, для определения коэффициентов aj и bj расчетной формулы (2.18)

33

k- шагового разностного метода требуется решить СЛАУ

Pk aj = 0

j=0

 

 

 

 

 

 

 

 

jPk

 

 

 

 

 

 

 

 

k

 

 

 

 

 

 

 

 

=0

bj = 1

 

 

 

 

 

 

 

 

 

 

 

 

 

jP

j aj = ¡1

 

 

 

 

=0

 

 

 

 

 

 

 

 

: : : : : : : : : : : : : : : : : : : : : : : :

 

k

 

(¡j)s

a

k

(¡j)1

b = 0;

Xj

X

s!

 

¡

1)!

j

=0

 

j ¡ j=0 (s

 

Явный метод получается, если положить b0 = 0, а неявный при b0 =6 0. Произвольно построенный метод, как правило, неустойчив.

Пример 1. (Далквист, 1956г.). Рассмотрим задачу Коши u0 = u; u(0) = 1;

точное решение которой u(x) = ex. На примере этой задачи проверим качество разностного 2-шагового метода 3-ого порядка (максимально возможного порядка)

yk+1 + 4yk ¡ 5y1 = h(4fk + 2f1):

Начальные значения можно выбрать с помощью точного решения, положив y0 = 1 и y1 = eh. Результаты расчета для h = 1=10; 1=20; 1=40; 1=80 оказываются неудовлетворительными, несмотря на малую локальную погрешность. Причем при уменьшении шага глобальная погрешность увеличивается.

Это объясняется тем, что однородному разностному уравнению yk+1 + 4yk ¡ 5y1 = 0:

соответствует характеристический многочлен

¸2 + 4¸ ¡ 5 = 0:

34

у которого модуль одного из корней (¸ = ¡5) значительно больше единицы. Заметим, что при построении неявного метода число искомых произвольных констант увеличивается на одну (b0). Этот произвол можно использовать для построения устойчивого метода порядка s, чтобы корни

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

заться неустойчивой, а неудобная неявная схема устойчива. В большинстве случаев наблюдается именно такая ситуация.

2.6.6Методы PredictorCorrector

Запишем неявный разностный метод в виде

 

 

 

 

 

 

 

 

ym =

hb0

f(xm; ym) + gm; m = k; k + 1; : : : ; n;

 

 

 

 

 

 

 

 

 

 

 

 

a0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

здесь gm зависит от известных значений ym¡j, j = 1; 2; : : : ; m.

 

 

 

 

 

Можно показать, что, если

h < ¯b0

¯

L;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

¯

a0

¯

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

¯

 

¯

 

 

 

 

 

 

 

 

 

 

 

где L – константа Липшица (

j

f(x¯1; y¯1)

¡

f(x2

; y2)

j

6 L y1

¡

y2

j

,

x

 

 

 

 

 

 

 

 

 

j

 

8

2

[a; b]), то существует единственное решение уравнения, к которому сходятся итерации

yº

=

hb0

f(xm; yº¡1) + gm; º = 1; 2; : : : :

 

m

 

 

m

 

 

a0

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

C : ykº+1

35

Рассмотрим метод predictor - corrector в обозначениях Халла-Кримера, у которых P означает применение явной схемы, C – неявной, а E – вычисление правой части. Для иллюстрации возможных схем вычислений воспользуемся формулами Адамса второго порядка

P : yk = y1 +

h

(3f1 ¡ f2);

 

 

 

 

2

 

 

 

h

(2.22)

C : yk = y1 +

 

(fk + f1);

 

 

 

2

 

Обозначим fmº = f(xm; ymº ), fm¤ = f(xm; ym¤ ), где m = k; k+1; : : : ; n, ym¤ – вычисленные значения для m = 1; : : : ; k ¡1, и рассмотрим схему вычисления yk¤

1 шаг. Вычисляется ykº по явному методу Адамса

P : ykº = yk¤¡1 + h2(3fk¤¡1 ¡ fk¤¡2);

Далее в цикле выполняются два следующих шага 2 шаг. Вычисляется E : fkº = f(xk; ykº) ;

3 шаг. Уточняется ykº+1, с помощью неявного метода Адамса

= y1 + h2 (fkº + fk¤¡1);

Возврат к второму шагу повторяется до тех пор, пока не будет выполнено заданное число итерацций º = 1; 2; : : : ; t или пока не будет достигнута

заданная точность " (jykº+1 ¡ ykºj 6 ");

 

 

 

4 шаг. Вычисляется E : f¤

= f(xk; yº+1), y¤

:= yº+1, k := k + 1, пока

k

k

k

 

k

k 6 n.

 

 

 

 

Этот процесс можно сократить, не вычисляя f¤ = f(xk; yº+1).

 

 

 

k

k

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

36

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

Основная трудность использования многошаговых методов - изменение величины шага в процессе расчета. Для пересчета начала таблицы с измененным шагом можно использовать интерполяцию.

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

2.7Вопросы и упражнения для самопроверки

1.Как определяется порядок метода решения задачи Коши?

2.Как практически оценивается локальная погрешность метода Рунге - Кутты?

3.От чего зависит глобальная погрешность метода Рунге - Кутты?

4.Какие преимущества и какие недостатки имеют многошаговые мето-

ды?

5.Что такое явный многошаговый метод?

6.Что такое неявный многошаговый метод?

7.Найдите точное решение задачи Коши

u0 = xu; u(0) = 1

и разложите его в ряд по степеням переменной x. Вычислите с помощью метода разложения в ряд Тейлора 6 слагаемых разложения приближенного решения. Сравните результаты.

8. Используя метод разложения в ряд Тейлора приближенного решения, вычислите 4 слагаемых этого разложения для решения системы уравнений

u0 = xu + v; v0 = u ¡ x2v;

u(0) = 1; v(0) = 2:

37

9. Постройте с помощью численного интегрирования разностный метод Адамса-Башфорта по трем узлам и получите его локальную погрешность.

10.Постройте с помощью численного интегрирования разностный метод Адамса-Мултона по трем узлам и получите его локальную погрешностью.

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

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

13.Сравните преимущества и недостатки явного и неявного многошаговых методов.

14.Какая идея лежит в основе метода Predictor - Corrector 15.Определите порядок явного разностного 2-шагового метода

yk+1 + 4yk ¡ 5y1 = h(4fk + 2f1);

для решения задачи Коши u0 = u; u(0) = 1.

10. Постройте приближенное решение задачи Коши с помощью разложения в ряд Тейлора

y0 = ¡(1=x ¡ 1)y;

x 2 [1; b]

y(1) = 1

сравните его с точным решением y = 2xe1¡x ¡ x

11.Выпишите три члена разложения в ряд Тейлора решения задачи Ко-

ши

 

 

 

 

 

 

 

u10 = f1(x; u1; u2)

 

 

 

u0

= f

(x; u

; u

)

x

2

[0; b]

2

2

1

2

 

 

 

u1

(0) = ®1;

u2

(0) = ®2

 

 

 

12.Определите порядок метода Рунге-Кутты

y(x + h) = y(x) + k2

k1 = hf(x; y(x)); k2 = hf(x + h=2; y(x) + k1=2):

38

13.Определите порядок метода Рунге-Кутты

y(x + h) = y(x) + (k1 + 3k3)=4

k1 = hf(x; y(x)); k2 = hf(x + h=3; y(x) + k1=3); k3 = hf(x + 2h=3; y(x) + 2k2=3):

14.Запишите расчетные формулы метода Рунге-Кутты для системы уравнений

u0

= 1

¡

1=u

2

1

 

 

 

u20

= 1=(u1x)

 

ui(0) = 1;

u2(0) = 1:

39

3Численные методы решения краевых задач

Пусть требуется найти решение двухточечной краевой задачи

u0 = F (x; u);

G

(u(a)) = 0; a 6 x 6 b:

(3.1)

D(u(b)) = 0;

Здесь u, u0, F - вектор-функции размерности m, G -вектор размерности k, зависящий от значений решения u(x) в точке x = a, D-вектор размерности m ¡ k, зависящий от значений решения u(x) в точке x = b.

3.1Метод стрельбы (пристрелки).

Идея метода стрельбы состоит в поиске таких значений pi, i = 1; : : : ; m, для которых решение задачи Коши

ui0 = fi(x; u1

; u2; : : : ; um); i = 1; : : : ; m

(3.2)

 

a 6 x 6 b;

ui(a) = pi; i = 1; : : : ; m;

совпадает с решением краевой задачи (3.1). Тогда для решения (3.1) можно использовать рассмотренные выше методы решения задачи Коши.

Если вычислить для произвольных значений pi точное (или приближенное) решение задачи (3.2), то оно будет решением (3.1) (точным или приближенным), если

G(u(a; p1; : : : ; pm)) = 0;

(3.3)

D(u(b; p1; : : : ; pm) = 0);

Искомые значения pi, i = 1; : : : ; m являются решениями системы m уравнений относительно m неизвестных. Система (3.3) называется уравнениями сшивания, и разыскивать решение (3.3) можно, например, методом Ньютона.

40

Пример

Пусть требуется найти решение краевой задачи

u00 = f(x; u; u0);

u(a) = ®; u(b) = ¯;

Сведем эту задачу к краевой задаче для системы дифференциальных уравнений первого порядка. Обозначим v1 = u, v2 = u0 и получим

v10 = v2;

v20 = f(x; v1; v2);

v1(a) = ®; v1(b) = ¯;

В методе стрельбы требуется найти такое значение p, чтобы решение v(x; p) = (v1(x; p); v2(x; p)) задачи Коши

v10 = v2;

v20 = f(x; v1; v2);

v1(a) = ®; v2(a) = p;

удовлетворяло краевому условию v1(b; p) = ¯. Тогда решение задачи Коши v(x; p), оказалось бы искомым решением краевой задачи.

Таким образом, требуется найти решение уравнения сшивания

'(p) = v1(b; p) ¡ ¯ = 0;

причем для вычисления каждого значения '(p) требуется решать задачу Коши. Численно решать уравнение сшивания можно, например, методом Ньютона.

Если краевая задача (3.3) имеет большой порядок m, то для поиска неизвестных констант pi; i = 1; : : : ; m получается система уравнений сшивания (3.3).

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