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

корнюшин.численные методы

.pdf
Скачиваний:
43
Добавлен:
01.05.2015
Размер:
1.1 Mб
Скачать

11

N 1

N 1

yivi = −vi yi + yN 1vN y0v1. (4)

i=1

i=1

Для вывода формулы (3) воспользуемся формулой (1). Поскольку ∆yi= yi+1, из формулы

(1) следует

yivi=(yivi)-vi+1yi=(yivi)-vi+1 yi+1,

отсюда получаем

N 1

N

N 1

N 1

N

yi vi +vi yi = ( yi vi ) vi+1 yi+1 +vi yi =

i=0

i=1

i=0

i=0

i=1

 

 

N

N

 

 

= yN vN y0 v0 vi yi +

vi yi = ( yv) N ( yv)0 .

 

 

i=1

i=1

 

 

N 1

N

 

 

Если y0=0, yN=0, то yi vi

= −vi yi .

 

 

 

i=0

i=1

 

 

Формулу суммирования по частям можно использовать для вычисления сумм. Пример 1. Вычислить сумму SN= iN=1 i2i. Положим vi=i, yi=2i, так что

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

yi=yi-1+2i=y0+ 2i

=y0+2i+1-2.

 

 

 

 

 

 

 

 

 

j =1

 

 

 

 

 

 

 

Выберем y0=2-2N+1; тогда yN=0. Так как v0=0, vi=1, то из (3) следует

 

 

N

N 1

 

 

N 1

 

 

N 1

 

 

 

 

S N = vi yi = −yi vi = −yi

= N ( y0

2) 2i+1 = N 2 N +1 (2 N +1 2),

i=1

i=0

 

 

i=0

 

 

i=0

 

 

 

 

так что SN=(N-1)2N+1+2.

SN= iN=1 i(i 1) = iN=11 i(i +1) .

 

 

 

 

Пример 2.

Вычислить

Положим

yi=i,

vi=i+1. Тогда

vi+1=vi+(i+1)=v1+(2+3+…+(i+1))=(v1-1)+(i+1)(i+2)/2,

vi=v1-1+i(i+1)/2. Выберем

v1 из условия

vN=0, т.е. v1=1-N(N+1)/2. Применяя формулу (3) и учитывая, что y0=0, vN=0, yi=1, находим

N 1

N 1

N

N 1

 

 

 

 

1

N 1

 

SN= i(i +1) = yi vi = −vi yi

= −vi = −(N 1)(v1 1)

i(i + 2) =

2

i=1

i=0

i=1

i=1

 

 

 

 

i=1

 

 

 

= −

1

S N +

(N 1)N (N +1)

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

2

 

 

 

 

 

 

так что SN=(N-1)N(N+1)/3. Отсюда следует, что

 

 

 

 

 

 

 

 

i 2 =12 + 22 +... + N 2 = S N +i = N (N +1)(2N +1) .

 

 

N

 

 

 

 

N

 

 

 

 

 

 

i=1

 

 

 

i=1

6

 

 

 

1.1.2. Разностные уравнения

1.1.2.1. Разностные уравнения

Линейное уравнение относительно сеточной функции yi=y(i) (i=0, 1, 2,…)

a0(i)y(i)+a1(i)y(i+1)+…+am(i)y(i+m)=f(i),

(1)

где ak(i) (k=0, 1, …, m), f(i) – заданные сеточные функции,

a0(i) 0, am(i) 0, называется

линейным разностным уравнением m-го порядка. Оно содержит m+1 значение функций y(i). Пользуясь формулами для разностей yi, 2yi,…, m-1yi, можно выразить значения yi+1,

yi+2,…, ym+1 через yi и указанные разности: yi+1=yi+yi, yi+2=2yi+2yi+1-yi=2yi+2yi+yi и т.д. В

результате из (1) получим новую запись разностного уравнения m-го порядка: a0 (i)yi+ a1 (i)yi+…+ am (i)myi=f(i), i=0, ±1,±2,... (2)

12

(чем и объясняется термин «разностное уравнение»). Если коэффициенты a0, a1,…, am не зависят

от i, a0 0, am 0, то (1) называется линейным разностным

уравнением m-го порядка с

постоянными коэффициентами.

 

При m=1 из (1) получаем разностное уравнение первого порядка

a0(i)yi+a1(i)yi+1=f(i), a0(i) 0, a1(i) 0,

(3)

при m=2 – разностное уравнение второго порядка

 

a0(i)yi+a1(i)yi+1+a2(i)yi+2=f(i), a0(i) 0, a2(i) 0.

Мы ограничимся изучением разностных уравнений первого и второго порядков.

1.1.2.2. Уравнение первого порядка

Рассмотрим разностное уравнение первого порядка (3). Подставляя yi+1=yi+yi, получим

a 0(i)yi+a1(i) yi=f(i), a 0=a0+a1.

Простейшими примерами разностных уравнений первого порядка могут служить формулы

для вычисления членов арифметической прогрессии

yi+1=yi+d и геометрической прогрессии

yi+1=qyi.

 

Запишем уравнение (3) в виде

 

yi+1=qiyi+ϕi,

(4)

где qi=-a0(i)/a1(i), ϕi=f(i)/a1(i). Отсюда следует, что решение y(i) определено однозначно при i>i0, если задано значение y(i0). Пусть при i=0 задано y0=y(0). Тогда можно определить y1, y2,…, yi,…. Последовательно исключая yi, yi-1,…, y1 по формуле (4), получим

yi+1=qiqi-1…q0y0+ϕi+qiϕi-1+qiqi-1ϕi-2+…+qiqi-1…q1ϕ0,

или

 

 

 

 

 

 

 

i

 

i1

i

 

(5)

yi+1=

qk y0

+

qs ϕk +ϕi .

k =0

 

k =0 s=k +1

 

 

Для уравнения с постоянным коэффициентом, когда qi=q из (5) получаем

 

 

i

 

 

 

 

yi+1=qi+1y0+ qik ϕk , i = 0,1,2,...,

(6)

k =0

т.е. решение разностного уравнения (4) с постоянными коэффициентами.

1.1.2.3. Неравенства первого порядка

Если в выражениях типа (1) или (2) знак равенства заменить знаками неравенства <, >, , , то получим разностные неравенства m-го порядка Пусть дано разностное неравенство первого порядка

yi+1 qyi+fi, i=0, 1, 2,…; q 0.

(7)

Не ограничивая общности, далее всегда считаем q>0 (y0,, q, fi известны). Найдем его

решение. Пусть vi – решение разностного уравнения

 

vi+1=qvi+fi, i=0, 1,…; v0=y0.

(8)

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

 

yi vi.

(9)

В самом деле, вычитая (8) из (7), находим

 

yi+1-vi+1 q(yi-vi) q2(yi-1-vi-1) ... qi+1(y0-v0)=0.

Подставив в (9) явное выражение для vi получим

 

i1

 

yi qiy0+ qi1k f k , i=0, 1, 2,…,–

(10)

k =0

решение неравенства (7).

1.1.2.4. Уравнение второго порядка с постоянными коэффициентами

13

 

Рассмотрим разностное уравнение второго порядка

 

byi+1-cyi+ayi-1=fi, i=0, 1,…; a 0, b 0,

(11)

коэффициенты которого не зависят от i. Если fi =0, то уравнение

 

byi+1-cyi+ayi-1=0, i=0, 1,…,

(12)

называется однородным. Его решение может быть найдено в явном виде.

Пусть y i – решение однородного уравнения (12), yi* – какое-либо решение неоднородного уравнения (11). Тогда их сумма yi= y i+ yi* также является решением неоднородного уравнения:

b( y i+1+ yi*+1 )-c( y i+ yi* )+a( y i-1+ yi*1 )=[b y i+1-c y i+a y i-1]+[b yi*+1 -c yi* +a yi*1 ]=fi.

Это свойство – следствие линейности уравнения (11); оно сохраняет силу для разностного

уравнения (1) любого порядка. Очевидно, что если y i является решением однородного уравнения

(12), то и c y i, где с – произвольная постоянная, также удовлетворяет этому уравнению.

Пусть yi(1) и yi(2) – два решения уравнения (12). Они называются линейно независимыми,

если равенство

c1 yi(1) +c2 yi(2) =0, i=0, 1, 2,…,

возможно только при с12=0. Это эквивалентно требованию, что определитель системы

c1 yi(1)

+c2 yi(2)

= 0,

m= ±1,±2,...,

c y(1)

+c

2

y(2)

= 0,

1 i+m

 

i+m

 

 

отличен от нуля для всех i, m. В частности,

 

y(1)

y(2)

 

i,i+1 =

i

i

0.

 

yi(1)+1

yi(+2)1

 

Так же, как и в теории дифференциальных уравнений, можно ввести понятие общего решения разностного уравнения (12) и показать, что если решения yi(1) , yi(2) линейно независимы,

то общее решение уравнения (12) имеет вид

yi= c1 yi(1) +c2 yi(2) ,

где c1 и c2 – произвольные постоянные. Общее решение неоднородного уравнения (11) можно представить в виде

yi= c y (1)

+c

2

y (2)

+ y* ,

(13)

1 i

 

i

i

 

где y *i – какое-либо (частное) решение уравнения (11). Для определения c1 и c2, как и в

случае дифференциальных уравнений, надо задать дополнительные условия – начальные или краевые.

Общее решение уравнения (12) можно найти явно. Будем искать линейно независимые решения уравнения (12) в виде yi=qi, где q 0 – неизвестное пока число. После подстановки yk=qk в (12) получим квадратное уравнение bq2–cq+a=0, имеющее корни

q1=

c + c 2

4ab

, q2=

c c 2

4ab

.

(14)

2b

2b

 

 

 

 

В зависимости от значений дискриминанта D=c2–4ab возможны три случая.

1) D=c2–4ab>0. Корни q1 и q2 действительны и различны. Им соответствуют два решения yk(1) = q1k , yk(2) = q2k , которые линейно независимы, т.к. отличен от нуля определитель

 

=

qk

qk +1

= qk qk (q

 

q ) 0.

k ,k +1

i

1

2

 

 

q2k

q2k +1

1 2

1

 

 

 

 

 

 

Заметим, что q1 0 и q2 0 , иначе a=0, и уравнение (12) не является разностным уравнением второго порядка. Общее решение уравнения (12) имеет вид

yk= c q k +c

2

q k .

(15)

1

1

2

 

2) D=c2–4ab<0. Квадратное уравнение имеет комплексно-сопряженные корни

14

q = c +i D

, q

2

= c i D

,

1

2b

 

2b

 

 

 

 

 

где i – мнимая единица. Эти корни удобно представить в виде q1=ρeiϕ, q2=ρe-iϕ, ρ= ba , ϕ=arctg cD .

Линейно независимыми решениями являются не только функции: q1k =ρkeikϕ=ρk(coskϕ+isinkϕ),

q2k =ρke-ikϕ=ρk(coskϕ-isinkϕ),

но и функции

yk(1) = ρk cos kϕ, yk(2) = ρk sin kϕ,

которые также линейно независимы в силу линейной независимости функций sinkϕ и coskϕ. Общее решение имеет вид

 

 

 

 

 

yk=ρk(c1coskϕ+c2sinkϕ).

(16)

3) D=c2 –4ab=0. Корни действительны и равны: q1=q2=c/(2b)=q0. Линейно независимыми

являются решения

 

 

yk(1)

= q0k , yk(2)

= kq0k .

 

 

 

 

 

 

(17)

Покажем, что yk(2)

есть решение уравнения (12):

 

 

byk2+1 cyk(2)

+ ayk(2)1 = b(k +1)q0k +1 ckq0k + a(k 1)q0k 1 =

 

 

 

= k(bq0k +1 cq0k + aq0k 1 ) +(bq02 a)q0k 1 = 0,

т.к. bq02 a = b

c 2

a =

 

D

= 0 .

 

 

 

 

4b

 

 

 

 

4b2

 

 

 

 

 

Поскольку k ,k +1 =

 

qk

kqk

 

= q02k +1

0 , то решения (17) линейно независимы, и

 

 

0

0

 

 

 

 

 

 

q0k +1

(k +1)q0k +1

 

 

общее решение имеет вид

yk = c1 q0k +c2 kq0k .

1.1.2.5. Примеры

Рассмотрим примеры решения разностных уравнений второго порядка (11). 1. Найти общее решение уравнения

yk+1-2pyk+yk-1=0, a=b=1, c=2p>0.

Возможны три случая:

1)p<1. Положим p=cosα; тогда D=4(cos2α-1)=-4sin2α<0. Линейно независимые решения имеют вид yk(1) = cos kα, yk(2) = sin kα.

2)p>1. Полагая p=chα, получим для q квадратное уравнение q2–2qchα+1=0; его дискриминант равен D=4(ch2α-1)=4sh2α, а корни имеют вид q1,2=chα± shα=e ±α . Линейно независимыми решениями являются функции yk(1) = chkα, yk(2) = shkα.

3) p=1.

В

 

этом случае

q2 –2q+1=0, q1,2 =1, линейно независимые решения имеют вид

yk(1)

=1, yk(2) = k.

 

 

 

Во всех трех случаях общее решение рассматриваемого однородного уравнения будет

иметь вид y

k

= c y (1)

+c

2

y (2) .

 

 

1 k

 

k

2. Найти решение уравнения

yk+2-yk+1-2yk=0.

Дискриминант равен D=1+8=9, корнями будут q1,2=(1 ± 3)/2, q1=2, q2=-1. Общее решение имеет вид yk=c12k+c2(-1)k.

15

3. Найти общее решение уравнения

yk+1-yk-6yk-1=2k+1. (18)

Общее решение неоднородного уравнения есть сумма yk = y k + yk* общего решения y k однородного уравнения и частного решения yk* неоднородного уравнения. Найдем сначала общее

решение однородного уравнения. Дискриминант равен D=1+24=25>0, и корни квадратного уравнения q2-q-6=0 равны q1=3, q2=-2, так что yk(1) = 3k , yk(2) = (2) k . Частное решение yk* будем

искать в виде yk* = c2k , где c=const. Подставляя yk* = c2k в (18), получим c(2k+1-2k-6*2k-1)=c2k-1(- 4)=2k+1, c=-1. Общее решение уравнения (18) имеет вид yk=c13k+c2(-2)k-2k.

1.1.2.6. Разностное уравнение второго порядка с переменными коэффициентами. Задача Коши и краевая задача

Рассмотрим теперь разностное уравнение с переменными коэффициентами

biyi+1-ciyi+aiyi-1=fi, ai 0, bi 0, i=0, 1, 2,… (19)

Так как bi 0, то из (19) получаем следующее рекуррентное соотношение

y

i+1

=

ci yi ai yi1 + fi

,b 0.

(20)

 

 

 

 

i

 

bi

Выразим yi+1 и yi-1 через yi и разности первого и второго порядков. Тогда уравнение (19) перепишется в виде

yi+(bi-ai)yi-(ci-ai-bi)yi=fi, ai 0, bi 0.

Решение разностного уравнения первого порядка зависит от произвольной постоянной и определяется однозначно, если задано одно дополнительное условие, например, y0=c0. Решение уравнения второго порядка определяется двумя произвольными постоянными и может быть найдено, если заданы два дополнительных условия. Если оба условия заданы в двух соседних точках, то это задача Коши. Если же два условия заданы в двух разных (но не соседних) точках, то получаем краевую задачу. Для нас основной интерес будут представлять краевые задачи. Введем обозначение Lyi=biyi+1-ciyi+aiyi-1 и сформулируем эти задачи более подробно.

Задача Коши: найти решение уравнения

 

 

 

 

Lyi=fi, i=1, 2,…

(21)

 

 

 

при дополнительных условиях

 

 

 

 

y0=µ1, y1=µ2.

(22)

 

 

 

Второе условие (22) можно записать иначе: y0=y1-y0=µ2-µ1=

µ1

 

и говорить, что в случае

задачи Коши заданы в одной точке i=0 величины y0=µ1, y0=

 

 

 

 

 

 

µ1 .

 

 

 

 

Краевая задача: найти решение уравнения Lyi=fi, i=1, 2,…N-1 при дополнительных

условиях

 

 

 

 

y0=µ1, yN=µ2, N 2.

(23)

 

 

 

В граничных узлах i=0 и i=N можно задать не только значения функций, но и комбинации

их с разностями, т.е. выражения α1y0 + β1 y0 при i=0 и α2 yN + β2 yN

при i=N. Такие условия

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

 

 

y0=λ1y1+µ1, yN=λ2yN-1+µ2.

(24)

 

Если λ1=λ2=0, то отсюда получаем условия первого рода; при λ1=λ2=1 имеем условия

второго рода

 

 

y0=-µ1, yN = µ2 .

(25)

 

Если λ1,2 0,1, то (24) называют условиями третьего рода:

 

λ1y0 +(1λ1 ) y0 = µ1 , λ2 yN +(1λ2 ) yN

= µ2 .

(26)

Кроме того, возможны краевые задачи с комбинацией этих краевых условий: при i=0 – условия одного типа, при i=N – условия другого типа.

16

Решение задачи Коши находится непосредственно из уравнения (21) по рекуррентной формуле (20) с учетом начальных данных y0=µ1, y1=µ2. Решение краевых задач находится более

сложным методом – методом исключения – и будет изложено ниже.

 

 

 

 

 

 

 

 

 

 

Для уравнения с постоянными коэффициентами решение краевой задачи может быть

найдено в явном виде.

 

 

 

 

 

 

 

 

 

 

 

 

Пример. Найти решение краевой задачи

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2yi-1=1, i=1, 2,…, N-1, y0=0, yN=0.

(27)

_

 

 

 

 

 

 

 

 

 

Однородное уравнение 2yi-1=yi-1-2yi+yi-1=0 имеет общее решение

 

= c

+c

i . Частное

 

 

y

i

 

 

 

 

 

 

 

 

 

 

1

2

 

 

 

решение yi*

неоднородного уравнения 2yi-1=yi+1-2yi+yi-1=1 ищем в виде yi* =ci2.

Подставляя это

выражение

в

уравнение (27),

находим 2y *i1 =c((i+1)2-2i2+

+(i-1)2)=1,

т.е.

c=1/2,

так

что

_

 

+ y* = c

+c

i +i2 / 2 . Для

определения c1 и c2 служат

краевые условия

 

при

 

i=0,

i=N:

yi= y

i

 

 

 

i

1

2

 

 

 

 

 

 

 

 

 

 

 

y0=c1=0, yN=c2N+N2/2=0, c2=-N/2. Таким образом, yi=-iN/2+i2/2=-i(N-i)/2 есть решение задачи (27).

1.1.3. Решение разностных краевых задач для уравнений второго порядка

1.1.3.1. Решение разностных краевых задач методом прогонки

Краевая задача

aiyi-1-ciyi+biyi+1=-fi, ai 0, bi 0, i=1, 2,…, N-1, y01y11, yN2yN-12 (1)

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

размера

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

λ1

0 ...

0

0

0 ...

0

0

0

 

 

 

 

 

 

 

 

 

 

 

 

a1

c1

b1 ...

0

0

0 ...

0

0

0

 

 

 

 

 

 

 

 

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

...

...

 

 

 

 

A =

 

 

 

0

0

0 ...

ai

ci

bi ...

0

0

0

 

 

 

.

 

 

 

 

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

...

...

 

 

 

 

 

 

 

 

0

0

0 ...

0

0

0 ...

aN 1

cN 1

bN 1

 

 

 

 

 

 

 

 

0

0

0 ...

0

0

0 ...

0

λ2

1

 

 

 

 

Вместо (1) можно написать

 

Ay=f, y=(y0, y1,…, yN), f=(µ1, -f1,…, -fN-1, µ2).

(2)

В случае первой краевой задачи соответствующая матрица имеет размер

(N-1)*(N-1).

 

Для решения краевой задачи (1) можно использовать следующий метод исключения,

называемый методом прогонки. Предположим, что имеет место соотношение

yii+1yi+1i+1

(3)

с неопределенными коэффициентами αi+1 и βi+1, и подставим yi-1iyii в (1):

(aiαi-ci)yi+biyi+1=-(fiiβi).

 

Сравнивая это тождество с (3), находим

 

ai+1 =

 

bi

,i

=1,2,..., N 1,

(4)

ci aiαi

 

 

 

 

 

βi+1 =

 

αi βi + fi

, i =1,2,...N 1.

(5)

 

 

 

ci aiαi

 

 

Используем краевое условие при i=0 для определения α1, β1. Из формул (1) и (3) для i=0

находим

 

 

 

 

 

 

α11, β11.

 

 

 

(6)

Зная α1 и β1 и переходя от i к i+1 в формулах (4) и (5), определим αi и βi для всех i=2, 3,…, N. Вычисления по формуле (3) ведутся путем перехода от i+1 к i (т.е. зная yi+1, находим yi), и для

17

начала этих вычислений надо задать yN. Определим yN из краевого условия yN2yN-12 и условия

(3) при i=N-1: yN-1NyNN. Отсюда находим

yN

=

µ2 + λ2 βN

.

(7)

 

 

 

1 αN λ2

 

Соберем все формулы прогонки и запишем их в порядке применения

 

 

 

 

 

 

bi

,i =1,2,..., N 1,α1 = λ1;

 

 

 

αi+1

=

 

 

 

 

(8)

 

 

 

ci

aiαi

 

 

 

 

 

 

 

 

 

 

 

=

ai

βi + fi

, i =1,2,..., N 1, β11;

 

 

 

β i+1

(9)

 

 

ci

 

 

 

 

 

 

 

aiαi

 

 

 

 

 

µ2 + λ2 βN

 

 

 

 

 

 

 

 

yN

=

 

, y i =αi+1 yi+1 + βi+1 , i = N 1, N 2,...,2,1,0. (10)

1 αN λ2

 

 

 

 

 

 

 

 

 

 

 

 

Стрелки показывают направление счета: () от i к i+1, () - от i+1 к i.

Таким образом, краевая задача для уравнения второго порядка сведена к трем задачам Коши для уравнений первого порядка.

1.1.3.2. Устойчивость метода прогонки

Формулы прогонки можно применять, если знаменатели дробей (8) и (10) не обращаются в нуль. Достаточными условиями этого являются неравенства

 

ci

 

 

ai

 

 

 

+

 

bi

 

, i =1,2,...,

N 1,

(11)

 

 

 

 

 

 

 

 

λ1

 

1,

 

λ2

 

1,

 

λ1

 

+

 

λ2

 

< 2,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

причем одно из первых двух неравенств второй строки должно быть строгим. Покажем, что при условиях (11) знаменатели ci-aiαi и 1-αNλ2 не обращаются в нуль и

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

αi

 

 

 

 

 

1, i =1,2,..., N.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(12)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Предположим,

 

что

 

 

αi

 

 

 

 

 

1 и

покажем, что

 

 

 

 

 

αi+1

 

1 ;

 

тогда отсюда и

 

из

условия

 

 

 

 

 

 

 

αi

 

=

 

λ1

 

 

1

 

будет

 

 

следовать

(12).

 

 

 

Рассмотрим

 

 

 

 

 

разность

 

 

 

 

 

ci aiαi

 

 

bi

 

.

 

 

Поскольку

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ci aiαi

 

 

 

 

bi

 

 

ci

 

 

 

 

ai

 

 

 

 

αi

 

 

 

 

 

 

bi

 

 

 

ai

 

 

 

(1

 

αi

 

0 ,

 

 

 

 

 

 

 

 

 

то

 

 

 

 

 

 

 

 

 

ci aiαi

 

 

bi

 

> 0

 

 

 

 

и

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

αi+1

 

=

 

bi

 

 

 

/

 

ci aiαi

 

1.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Заметим, что если

 

ci0

 

 

 

 

 

>

 

ai0

 

 

 

+

 

bi0

 

хотя бы в одной точке i=i0, то

 

αi

 

<1 для всех i>i0 и в

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

том числе для i=N:

 

αN

 

 

 

<1. Тогда

 

1 αN λ2

 

 

1

 

αN

 

 

 

λ2

 

1

 

αN

 

> 0 , и условие

 

 

 

λ1

 

+

 

λ2

 

< 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

является лишним. Если

 

λ1

 

<1, то

 

 

 

 

 

αN

 

 

<1.

 

 

 

Если же

 

 

λ1

 

 

 

=1, то

 

λ2

 

<1 и

 

αN

 

1, и мы имеем

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 αN λ2 1 αN λ2 1 λ2 > 0 . Таким образом, при выполнении условий (11) задача (1)

имеет единственное решение, которое мы находим по формулам прогонки (8) – (10). Вычисления по формулам (8) – (10) ведутся на компьютере приближенно, с конечным

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

 

 

 

~

 

 

yi

решение задачи (1), а

yi – решение той же задачи с возмущенными коэффициентами

~

~ ~ ~

~

~

~

~

ai , bi , ci , λ1 ,

λ2 и правыми частями f

i , µ

1 , µ2 . Возникает естественный вопрос: не происходит

ли в ходе вычислений возрастание погрешности округления, что может привести как к потере точности, так и к невозможности продолжать вычисления из-за роста определяемых величин? Примером может служить нахождение yi по формуле yi+1=qyi при q>1. Поскольку yn=qny0, для

любого y0 можно указать такое n0, при котором yn0 будет машинной бесконечностью. Фактически

~

в силу погрешностей округления определяется не точное значение yi, а значение yi из уравнения

1iN

18

~

~

~

 

yi+1

= q yi

+η , где η – погрешность округления. Для погрешности δyi= yi

yi получим уравнение

δyi+1=qδyi+η (i=0, 1,…, δy0=η). Из формулы δyi=qiη+η(q1-1)/(q-1) следует, что погрешность δyi при q>1 экспоненциально растет с ростом i.

Вернемся к методу прогонки и покажем, что при αi 1 погрешность δyi не нарастает. В

 

 

 

~

~

 

 

 

 

 

 

 

 

самом деле,

 

из yi =αi+1 yi+1

+ βi+1 , yi=αi+1yi+1+βi+1 следует δyi=αi+1δyi+1,

δyi

αi+1

δyi+1

δyi+1

,

так как

 

αi+1

 

1.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Если учесть, что в ходе вычислений возмущаются и коэффициенты αi+1, βi+1, то можно показать, что погрешность δyi пропорциональна квадрату числа узлов N: max δyi ε0 N 2 , где ε0

погрешность округления. Отсюда видна связь между требуемой точностью ε решения задачи, числом N уравнений и числом значащих цифр компьютера, поскольку ε0N2 ε.

1.1.3.3. Другие варианты метода прогонки

Рассмотренный выше метод прогонки (8) – (10), при котором определение yi производится последовательно справа налево, называют правой прогонкой. Аналогично определяются формулы

левой прогонки:

 

 

 

ai

 

,i = N 1, N 2,...,2,1,ξN = λ2 ,

 

ξ

=

 

 

 

 

(13)

 

ci

biξi+1

 

 

 

 

 

 

 

 

 

biηi+1 + fi

,i = N 1, N 2,...,2,1,ηN = µ2 ,

 

ηi

=

(14)

ci biξi+1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

yi+1 =ξi+1 yi +ηi+1 ,i = 0,1,..., N 1, y0 = µ1 +λ1η1 .

(15)

 

 

 

 

 

 

 

 

 

1ξ1λ1

 

В самом деле, предполагая, что yi+1=ξi+1yi+ηi+1 и исключая из (1) yi+1, получим -fi=aiyi-

1+(biξi+1-ci)yi+biηi+1 или yi

=

 

ai

yi1 +

fi +biηi+1

. Сравнивая

с формулой yi=ξiyi-1+ηi,

ci biξi+1

 

 

 

 

 

 

 

ci biξi+1

 

получим (13) и (14). Значение y0 находим из условия y0=λ1y1+µ1 и формулы y0=ξ1y1+η1. Из неравенств ci biξi+1 ci bi ξi+1 ai + bi (1ξi+1 ), 1ξ1λ1 1ξ1 λ1 следует, что условия (11) гарантируют применимость формул левой прогонки и их вычислительную устойчивость, т.к.

ξi 1 (i=1, 2,…, N).

Комбинация левой и правой прогонок дает метод встречных прогонок. В этом методе в области 0 i i0 +1 по формулам (8), (9) вычисляются прогоночные коэффициенты αi, βi, а в

области i0 i N по формулам (13), (14) находятся ξi и ηi. При i=i0 производится сопряжение решений в форме (10) и (15).

Из формул yi

=αi

+1 yi

+1 + βi +1 ,

yi

+1 =ξi

+1 yi

+ηi +1

находим yi

=

βi0 +1 +αi0 +1ηi0 +1

. Эта

 

0

0

0

 

0

0

0

0

0

 

0

 

1αi +1ξi +1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

 

формула имеет смысл, т.к. хотя бы одна из величин

 

ξi

+1

 

или

 

αi

+1

 

в силу (11) меньше

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

0

 

 

 

 

 

единицы, и, следовательно, 1αi +1ξi +1

> 0 . Зная

yi ,

можно по формуле (10) найти все yi при

 

 

 

0

0

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

i<i0, а по формуле (15) – значения yi при i>i0. Вычисления при i>i0 и i<i0 проводятся автономно (имеет место распараллеливание вычислений). Метод встречных прогонок особенно удобен, если, например, требуется найти yi лишь в одном узле i=i0.

19

20

Модуль 2. Решение уравнений и задачи интерполяции

2.2. Численное решение алгебраических и трансцендентных уравнений

Задача численного решения уравнения распадается на две:

1)задача отделения корней – нахождение областей, которым принадлежат корни уравнений;

2)задача численного нахождения приближенных значений корня (с заданной степенью точности).

2.2.1. Задача отделения корней

Существует несколько методов отделения корней уравнения.

1. Главный метод – знание свойств функций, входящих в уравнение. Например, в выражении

x 2 3x + 5 = 0

5 + 25k =1 x 2k

нет необходимости рассматривать знаменатель, т.к. он никогда не обращается в нуль.

2. Графические методы отделения корня

а) На вещественной оси (построение таблицы значений функции). Пусть дана функция

P(x) = 0,−∞ < x <+ .

Т.к. ось бесконечна, необходимо построение провести в два этапа. На первом разбивают сегмент [-1,1] на сколь угодно малые части и получают значения функции в точках разбиения. На

втором этапе осуществляют замену переменной

t =1/ x , что

приводит

к следующему

преобразованию интервалов: [1,+ )

[1,0) и (- ,-1] (0,-1], т.е. снова получаем сегмент [-

1,1], возвращаясь к первому этапу.

переменной P(z) = 0. Поскольку z = x + iy ,

выделяют

б) Функция

комплексной

действительную и

мнимую части

функции P(z) :

P(z) = Q(x, y) + iL(x, y),

где

Q и

L

вещественны. Комплексное число равно нулю тогда и только тогда,

когда Q = 0 и

L = 0 ,

т.е.

задача свелась к поиску корней вещественных функций. Эти кривые строятся в декартовой системе координат, где выделяются области пересечения кривых Q(x, y) = 0 и L(x, y) = 0, как показано на рис.2.1.

3. Метод малого параметра