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

Schisla_3

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

41

3.1.1Решение уравнений сшивания.

В случае нелинейной краевой задачи уравнения сшивания (3.3), которые запишем в виде

'j(p) = Gj(u(a; p)) = 0; j = 1; : : : ; k

'k+j(p) = dj(u(b; p)) = 0; j = 1; : : : ; m ¡ k

обычно решаются методом Ньютона. Если эти уравнения записать в векторном виде '(p) = 0, то итерации вычисляются по формуле

pn+1 = pn ¡ (J(pn))¡1 '(pn); n = 1; 2; : : :

 

½

@'

m

 

 

 

 

где (J(pn) =

@pji (pni;j=1

матрица Якоби. Пусть выбрано хорошее

начальное приближение p0 к искомому решению p. Тогда (n + 1)-ое приближение можно записать в виде pn+1 = pn + ±n, где поправка ±n является

решением СЛАУ

J(pn)±n = ¡f(pn):

Основная трудность при этом состоит в вычислении матрицы Якоби и выборе хорошего начального приближения p0.

Частные производные можно вычислять, заменяя их разделенными раз-

ностями

 

 

 

@

'

i ¼

'i(p1; : : : ; p1; pj + hj; pj+1; : : : ; pm) ¡ 'i(p1; : : : ; pm)

; i = 1; : : : ; m:

 

 

@pj

hj

Для того чтобы рассчитать элементы j-ого столбца матрицы Якоби, требуется вычислить значение 'i(p1; : : : ; pm), решив задачу Коши, а затем решить ещё задачу Коши для вычисления значений 'i(p1; : : : ; p1; pj + hj; pj+1; : : : ; pm), j = 1; : : : ; m. Таким образом, для вычисления всех элементов матрицы Якоби треуется решить m + 1 задачу Коши.

Возникает вопрос выбора hj. С одной стороны ошибка при замене производной разностным отношением имеет порядок 0(hj), с другой стороны

42

при очень малом hj может сильно возрасти ошибка, связанная с округлением (эффект ошибки при делении на малое число). В качестве hj можно выбрать

p

 

;

 

если

 

pj0

6 1;

"

 

hj = ( p0p

 

 

если

jp0j

> 1;

";

j

 

j

j j

 

где " точность расчета Реализация метода Ньютона. Вычисление матрицы Якоби может тре-

бовать много времени, поэтому часто применяется модификация метода Ньютона , при которой матрица Якоби вычисляется время от времени, а не для каждой итерации. Алгоритм такой модификации может выглядеть следующим образом:

1.вычисляются J(p0) и итерации pn+1 = pn¡¡J(p0)¢¡1 '(pn), n = 0; :::; k;

2.вычисляются J(pk+1) и итерации pn+1 = pn ¡ ¡J(pk+1)¢¡1 '(pn), n =

k+ 1; :::; 2k, и т.д.

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

Метод Ньютона сходится вблизи решения с квадратичной скоростью. Основная часть времени при расчете тратится на поиск начального приближения. До тех пор, пока итерации не приблизятся к решению, метод может сходиться сравнительно медленно, и в этих случаях разумно использовать расмотренную модификацию метода Ньютона. Если начальное приближение выбрано неудачно, то итерации могут расходиться. Иногда удается построить хорошое начальное приближение из физических или каких либо иных соображений, связанных с постановкой задачи. Иногда к успеху приводит продолжение по параметру, если параметра нет, то его можно ввести. Например, вместо уравнения '(p) = 0, можно решать уравнение '(p) + (® ¡ 1)'(p0) = 0, для которого при ® = 0 известно решение p = p0. Далее организуется вычисление приближенных решений уравнения с параметром ® := ® + h, где h – некоторый достаточно малый шаг, а в

43

качестве начального приближения используется вычисленное решение для предыдущего значения ®. В результате при ® = 1 будет получено приближенное решение уравнения '(p) = 0.

Если нет уверенности в сходимости, можно при вычислении n-ой итерации можно ввести демпфирующий множитель

pn+1 = pn ¡ ®n (J(pn))¡1 '(pn)

Сначала ®n := 1, а затем делят его пополам до тех пор, пока не будет выполнено условие '(pn+1) 6 '(pn). . Очевидно, что число таких делений надо ограничивать.

Серьезные трудности возникают, если '(p) слабо зависит от одного или нескольких значений pj , тогда соответствующие столбцы матрицы Якоби почти нулевые, а СЛАУ для вычисления поправок к итерациям плохо обусловлена. Тогда возможна следующая регуляризация

pn+1 = pn ¡ (J(pn) + ®E)¡1 '(pn)

где множитель ® выбирается достаточно малым, чтобы эти итерации сходились к решению, которое мало отличалось бы от искомого.

Для окончания итерационного процесса обычно используются два кри-

терия сходимости

 

 

 

 

 

 

 

 

 

 

 

 

 

pn+1

 

pn

< ";

если k

pn

k 6 1

;

 

 

 

 

 

8 kpn+1

¡ pnk

 

 

 

или(и)

 

'(pn+1)

 

< "

>

k

 

 

¡

k

< ";

если pn

 

> 1;

 

k

 

k

 

>

 

k

p

 

 

k

 

k

 

k

 

 

 

 

 

 

 

<

 

 

 

 

 

 

 

 

 

 

 

 

 

 

:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Краевые условия задачи (3.1) можно рассматривать как системы уравнений относительно значений компонент вектор-функции u(a) или u(b) (у каждого из них число уравнений меньше числа неизвестных). Иногда удается свести одно из этих условий, например при x = a к условиям вида ui(a) = ®in n = 1; : : : ; j; j 6 k, тогда уменьшается число искомых значений pi и порядок системы уравнений сшивания.

44

3.1.2Метод стрельбы для линейной системы ОДУ

Для линейной системы ОДУ система (3.3) должна быть линейной. Линейная двухточечная краевая задача имеет вид

u0 = A(x)u +

 

(x);

 

(3.4)

F

 

m

 

 

Xj

a 6 x 6 b

(3.5)

cijuj(a) = ®i; i = 1; : : : ; k;

=1

 

 

 

 

m

 

 

Xj

 

(3.6)

dijuj(b) = ¯i; i = k + 1; : : : ; m:

 

=1

 

 

 

 

где A(x)-матрица размера (m £ m), u(x), u0(x), F (x) – вектор-функции размерности m, cij, dij, ®i и ¯i – заданные константы.

Общее решение уравнения (3.4), строится с помощью решения нескольких задач Коши.

Сначала разыскивается решение u0(x) неоднородной системы

u0 = A(x)u + F (x);

a 6 x 6 b

(3.7)

u(a) = (0; : : : ; 0):

Затем вычислим m решений u(n)(x), n = 1; : : : ; m однородных задач

u0 = A(x)u

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

|{z}

n место

Если задача поставлена корректно, то решения u(n)(x) линейно независимы, т.к. линейно независимы соответствующие им начальные условия. Вектор-функции u(n)(x) образуют систему фундаментальных решений уравнения (3.4). Общее решение уравнения (3.4) можно записать в виде

 

m

 

 

X

 

u(x) = u(0)

(x) + pnu(n)(x)

(3.9)

n=1

Вектор-функция u(x) будет решением краевой задачи (3.4), если значения компонент вектора p = (p1; : : : ; pm) выбраны так, что выполняются

45

краевые условия (3.5)–(3.6)

 

 

P

P

 

 

m

m

 

 

j=1 cij

µuj(0)(a) + n=1 pnuj(n)(a)= ®i;

i = 1; : : : ; k;

j=1 dij

µuj(0)(b) + n=1 pnuj(n)(b)

= ¯i;

i = k + 1; : : : ; m:

P

P

 

 

m

m

 

 

Это означает, что искомые значения констант pn являются решениями

СЛАУ

 

 

m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n=1 Anipn = ®i ¡ bi; i = 1; : : : ; k;

 

 

 

 

m

 

 

 

(3.10)

 

 

 

 

P

Anipn = ¯i ¡ bi; i = k + 1; : : : ; m;

 

 

 

 

n=1

 

 

 

m

P

 

m

 

где

Ani

=

j=1

cijuj(n)(a),

bi = cijuj(0)(a) для i = 1; : : : ; k, Ani =

 

 

 

 

 

 

j=1

 

m

(n)

 

P

m

 

(0)

P

 

=1

cijuj

(b), bi =

cijuj

(b) для i = k + 1; : : : ; m

 

 

 

j=1

 

 

 

 

jP

 

 

 

P

 

 

 

 

Oпределитель этой системы отличен от нуля, так как состоит из компонент линейно независимых решений однородных задач Коши (3.8).

Для построения системы (3.10) требуются только значения в точках x = a и x = b компонент решений однородных задач Коши u(n)(x), n = 1; : : : ; m. После вычисления pn решается задача Коши

u0 = A(x)u + F (x)

a 6 x 6 b;

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

ее решение и является искомым решением краевой задачи.

Если некоторые краевые условия задачи (3.4) при x = a имеют вид ui(a) = ®i, тогда уменьшается число искомых значений pn и порядок системы уравнений (3.10).

Пример 1. Составим алгоритм метода пристрелки для решения линейной краевой задачи для уравнения

u00 ¡ xu0 + u = x sin x + 1; 0 6 x 6 1:

46

Краевые условия имеют вид

u(0) + u0(0) = 1; u(1) ¡ 2u0(1) = 0:

Вычислим также функционал I = R1 '(u(x)) dx, где подынтегральная

0

функция '(u(x)) зависит от решения краевой задачи.

Решение.

Введем вспомогательные функции u1(x) = u(x); u2(x) = u0(x) и сведем заданную краевую задачу к краевой задаче для нормальной системы дифференциальных уравнений четвертого порядка

u01 = u2;

(3.11)

u02 = xu2 ¡ u1 + ¹(x sin x + 1);

Заметим, что для нахождения решения этой системы требуется создать процедуру вычисления правой части. Параметр ¹ удобно ввести, чтобы написать только одну процедуру. Для вычисления правой части неоднородной задачи надо положить ¹ = 1, а для однородной ¹ = 0.

Краевые условия примут вид

 

u1 + u2 = 1; при x = 0; u1 ¡ 2u2 = 0; при x = 1:

(3.12)

Алгоритм метода стрельбы можно описать следующим образом.

 

1. Сначала решается неоднородная задача Коши (¹ := 1)

 

u10

= u2;

 

u20

= xu2 ¡ u1 + ¹(x sin x + 1);

 

u1(0) = 0; u2(0) = 0:

еерешение обозначается через u(0)(x).

2.Затем решаются две однородные задачи Коши (¹ := 0) для системы

уравнений

u01 = u2;

u02 = xu2 ¡ u1;

47

Вектор-функция u(1)(x) удовлетворяет условиям

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

а u(2)(x) условиям

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

3. В силу линейности вектор-функция u(x) = u(0)(x) + p1u(1)(x) + p2u(2)(x) удовлетворяет системе дифференциальных уравнений (3.11)

u01 = u2;

u02 = xu2 ¡ u1 + ¹(x sin x + 1);

причем u(0) = (p1; p2).

4. Далее значения p1 и p2 выбираются так, чтобы выполнялись краевые условия (3.12). После подстановки u(x) в краевые условия, получается СЛАУ второго порядка

p1(u(1)1 (0) + u(2)1 (0)) + p2(u(1)2 (0) + u(2)2 (0)) = 1 ¡ (u(0)1 (0) + u(0)2 (0)) p1(u(1)1 (1) ¡ 2u(2)1 (1)) + p2(u(1)2 (1) ¡ 2u(2)2 (1)) = ¡(u(0)1 (1) ¡ 2u(0)2 (1));

для вычисления p1 и p2. При составлении этой системы используются значения компонент решения u0(x) и u1(x) на концах интервала (при x = 0 и

x= 1).

5.Для вычисления значения функционала I рассмотрим интеграл с переменным верхним пределом

x

I(x) = Z0

'(u) dx )

dI

 

= F (u):

dx

Если, например, '(u) = u u0, то решение I(x) задачи Коши

 

dI

= u1u2; I(0) = 0;

 

 

 

 

dx

в точке x = 1 является значением искомого функционала I = I(1).

48

6. После вычисления p1 решается задача Коши

u01 = u2;

u02 = xu2 ¡ u1 + ¹(x sin x + 1); I0 = u1u2;

u1(0) = p1; u02(0) = p2; I(0) = 0:

Первая компонента ее решения u(x) является решением исходной краевой задачи, а I = I(1).

Пример 2. Пусть требуется решить краевую задачу для системы линейных дифференциальных уравнений

u0 = A(x)u +

 

(x);

 

F

 

ui(a) = ®i; i = 1; : : : ; k; a 6 x 6 b

(3.13)

ui(b) = ¯i; i = k + 1; : : : ; m:

 

В случае таких краевых условий можно сократить число задач Коши, которые требуется решить. Общее решение системы уравнений

u0 = A(x)u + F (x);

удовлетворяющее краевым условиям в точке x = a, разыскивается в виде

 

m

 

nX

u(x) = u0(x) +

pnu(n)(x)

 

=k+1

Здесь u(0)(x) решение неоднородной задачи Коши

u0 = A(x) u + F (x);

a 6 x 6 b

u(a) = (®1; : : : ; ®k; 0; : : : ; 0):

а u(n)(x), n = k + 1; : : : ; m решения m ¡ k однородных задач Коши

u0 = A(x)u

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

|{z}

n место

49

Вектор-функция u(x) будет решением краевой задачи (3.13), если значения констант pn, n = k + 1; : : : ; m выбраны так, что выполняются условия при x = b, т.е.

 

m

 

 

 

nX

 

 

ui(0)(b) +

pnui(n)(b) = ¯i;

i = k + 1; : : : ; m

 

 

=k+1

 

 

Значения pn являются решениями СЛАУ

 

m

 

 

 

nX

 

 

 

pnuin(b) = ¯i ¡ ui(0)(b);

i = k + 1; : : : ; m;

(3.15)

=k+1

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

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

u0 = A(x)u + F (x);

u(a) = (®1; : : : ; ®k; pk+1; : : : ; pm); :

3.1.3Неустойчивость метода стрельбы. (О вычислительной погрешности при реализации метода стрельбы)

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

u0 = Au;

ui(a) = ®i; i = 1; : : : ; k; a 6 x 6 b

ui(b) = ¯i; i = k + 1; : : : ; m;

где матрица A постоянна и имеет простую природу, т.е. её собственные векторы 'i образуют ортонормированный базис в Rm. Реальные части собственных чисел, соответствующих 'i, упорядочены

<(¸1) > <(¸2) > ¢ ¢ ¢ > <(¸m):

50

Общее решение однородной системы уравнений разыскивается в виде разложения по собственным векторам

Xm

u(x) = aj(x)'j:

j=1

После подстановки этого разложения в однородную систему u0 = Au

m

m

m

m

X

X

Xj

X

aju0

(x)'j =

aj(x)A'j ) aj0 (x)'j =

aj(x)¸j'j

j=1

j=1

=1

j=1

получается

a0j(x) = ¸jaj(x) ) aj(x) = Cje¸j(x¡a); j = 1; : : : ; m;

где Cj - произвольные постоянные. Общее решение однородной системы

m

 

Xj

 

u(x) = Cje¸j(x¡a)'n:

(3.16)

=1

 

Для построения матрицы системы (3.15) требуется найти m ¡ k таких линейно независимых решений u(n)(x), которые удовлетворяют начальным условиям при x = a

u(n)(a) = (0; : : : ;

1 ; : : : ; 0);

i = k + 1; : : : ; m:

 

n место

 

 

выбора соответствующих констант Cn.

Они получаются с помощью

|{z}

j

Определитель системы (3.15) отличен от нуля, так как решения u(n)(x) линейно независимы.

А теперь предположим, что <(¸1) À <(¸2) > ¢ ¢ ¢ > <(¸m), тогда при

достаточно больших значениях x ¡ a решения

 

! ¼

 

 

 

 

Ã

 

m

C1n

 

 

 

 

 

 

 

Cn

 

 

 

 

 

u(n)(x) = Cne¸1(x¡a)

'

 

X

j e(¸j¡¸1)(x¡a)'

 

 

Cie¸1

(x¡a)'

:

 

+

 

 

1

 

1

 

 

 

j

 

1

1

 

n=2

Это означает, что с точностью до вектора, норма которого мала (т.к. <(¸j ¡ ¸1) < 0), все векторы u(n)(x) коллинеарны вектору '1 , т.е. почти линейно зависимы, а матрица системы (3.15) плохо обусловлена. Чем

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