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

книги / Основы математического моделирования и численные методы

..pdf
Скачиваний:
8
Добавлен:
12.11.2023
Размер:
4.65 Mб
Скачать

Л к -1)

т? 4 = -тЛЬк-г\)г i = k+

акк

Коэффициенты на промежуточном к-м шаге будут выглядеть следующим образом:

г = к+ 1 ,..., n;j = к,

Индекс к = 1, п - 1, при к = п - 1 исключается (п - 1)-й эле­ мент.

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

Дц* 1 +al2x2+... +alnxn =fy;

а2гх2+..Ла'2пхп =Ъ'2\

а^п 1)х

пп п

Индексы i,j, к имеют следующий смысл: к - номер уравнения, которое вычитается из остальных (номер неизвестного, которое ис­ ключается из оставшихся (п - к) уравнений); / —номер уравнения, из которого в данный момент исключается неизвестное; j - номер столбца.

Для определения значений неизвестных выполняется обратная подстановка:

а:

А("-2) _Л"~2)х

 

_ °п- 1

 

ап-\,п х п .

*л-1

=

Лп-2)

 

 

 

“ л-1,л-1

 

/,0 - 1) - nU-Vx

_

•••

_ аи -1

_ Оу-1

“_/,л

хп

 

ujJ+ lxj+\

XJ =

j j

;

 

j - n - 2 .....1 .

4.4.2. Метод прогонки

Метод прогонки относится к прямым методам решения систем линейных алгебраических уравнений и является модификацией ме­ тода исключения Гаусса для частного случая разряженных систем. К таким системам принято причислять системы уравнений с трех­ диагональной матрицей. Эти системы зачастую применяются при решении широкого круга инженерных задач, в том числе и в техно­ логии кабельного производства. Особенное распространение такие системы получили при численном решении краевых задач в диффе­ ренциальной постановке.

Запишем систему уравнений в виде +С] * 2 =</,;

а2х1+ Ь2х2+ с2х3 —d2;

а3х2 + Ь3х3 +с3х4 = d3;

<

ап-1- 2 +Ьп-\Хп-1 +Сп-\Хп =4-15

апХп-\ "t" К х„ dn.

В ней на главной диагонали матрицы расположены элементы Ъх,Ъ2,...,Ьп, над ней - элементы с,,с2 ,...,с„_1} под ней - а2,а3,...,ап.

При этом обычно bj ФО

bx Cj

üj b2 с2 аъ Ъг сг

Ьп

Рассматриваемый метод состоит из двух этапов - прямой про­ гонки (аналога прямого хода метода Гаусса) и обратной прогонки (аналога обратной прогонки метода Гаусса). На первом этапе каждое

неизвестное выражается через последующее, т.е.

через

хм , по­

средством прогоночных коэффициентов 4

и Я, :

 

 

 

xt =Aixi+i +Bi t i= 1 ,

1 .

 

(4.19)

Из первого уравнения системы определяется

 

 

 

 

X1 =

С\

. dx

 

 

 

 

 

-х7

+ — ,

 

 

 

или

 

 

Ъх

ъх

 

 

 

 

 

 

 

 

 

 

 

 

 

JC, = 4

JC2 +Вх,

 

 

 

где 4 = - Т"» В' =1Г-

 

 

 

 

 

 

Ь\

 

А

 

 

 

 

 

 

Из второго уравнения системы выражается х2 через х3 с заме­

ной х1 по выражению (4.19):

 

 

 

 

 

 

 

а2 (Ахх2 +Вх) +Ъ2х 2 + с2хз = J 2.

 

 

Откуда следует

 

 

 

 

 

 

 

 

 

х2

A2XJ “ЬВ2у

 

 

 

А2 = —— , 2?2 = ——

е2 = 4 ^ 2 +£2.

 

 

в 2

 

е 2

 

 

 

 

Аналогичным образом можно определить прогоночные коэф­

фициенты для произвольного номера /:

 

 

 

л

 

г» d i

GtBj*

>

j

,

, . « т

Д' =

е,-

Д =

е,

 

= Д-|Ч ■^^/5

 

 

 

 

 

 

(4.20)

i = 2 ,...,w —1 .

Этап обратной прогонки состоит в последовательном определе­ нии неизвестных х, . Сперва, как и в методе Гаусса, вычисляется хп,

для чего рассматривается уравнение (4.19) и последнее уравнение системы:

а пХп- 1 + Ь пХ» ХП-1 ~ А п -\ХП В „ -\

Исключив x„_1} находим

 

_

апВп_\

*« =

K + ^ A - l

 

Затем из формулы (4.19) и выражения для прогоночных коэф­ фициентов (4.20) последовательно определяем неизвестные

x„_j,...5x , . Для решения системы линейных уравнений методом про­

гонки необходимо, чтобы выполнялось следующее условие:

 

в Ж + Ы -

(« > )

Условие (4.21) преобладания диагональных коэффициентов обеспечивает устойчивость метода при наличии ошибок (погрешно­ стей) округления. Это дает возможность применять данный метод для решения больших систем уравнений. В сравнении с методом Га­ усса метод прогонки является более экономичным.

4.5.Итерационные методы

4.5.1.Метод Зейделя

При значительном количестве неизвестных в линейной системе уравнений схема, соответствующая методу Гаусса, становится чрез­ вычайно сложной. В данной ситуации для определения корней сис­ темы целесообразнее использовать приближенные итерационные методы. Рассмотрим один из таких методов - метод итераций (метод Зейделя).

Исходная система линейных уравнений имеет следующий вид:

'anxi +aux2+... +alnxn =bl;

, а д

+ а д +... + а2пхп =Ъг\

Л Л

«л2*2 +••• ^ ~ а п п х п

Предположим, что диагональные члены (коэффициенты систе­ мы) не равны нулю: аи * 0 ( /= ! ,...,« ) . Выразим первое уравнение

системы относительно

х,, второе -

относительно х2 и т.д. В итоге

получится эквивалентная система

 

 

1 + а 12х2 + а 13х3 + ...+ а 1,,х„;

х2

= Р2 + « з д

+ с а д +... + с а д ;

 

 

 

(4.23)

Хп —Рп + а и1Л, + ОС,;2-^2

b

аг

1Ф j,

i, j

= 1,..., п.

где Р, = — ; а,, = - ^ ;

<*»

аи

 

 

 

Система (4.23) может быть решена методом последовательных приближений. За нулевое приближение принимается любое произ­ вольное значение. Обычно для этого используется столбец свобод­ ных членов:

х(0) = р .

Следующее приближение реализуется путем подстановки зна­ чений х(0) в правую часть уравнений системы (4.23). В матричной форме первое приближение выражается как:

х(1)=Р + ах(0\ второе приближение определяется через первое:

х(2) = Р + ах(1),

по аналогии

х(А+1) =P + axw

В случае, когда последовательность приближений х(0\ х (1),...

имеет предел

х = lim х(*>,

к-*°°

он будет являться решением системы (4.23), а следовательно, и сис­ темы (4.22).

Формулы последовательных приближений в развернутом виде можно записать следующим образом:

(4.24)

(а„ = 0 ; / = 1,...,и; А:= 0 ,1,...).

Метод последовательных приближений, определяемый систе­ мой (4.24), принято называть методом итераций. Принято считать, что итерационный процесс сходится хорошо (т.е. число приближе­ ний, необходимых для получения корней системы (4.22) с заданной точностью, невелико), если элементы матрицы а по абсолютной величине малы. Иными словами, для успешного применения про­ цесса итерации модули диагональных элементов системы (4.22) должны быть много больше модулей недиагональных коэффициен­ тов этой системы. Величины свободных членов системы (4.22) на сходимость итерационного процесса влияния не оказывают.

4.5.2. Метод Гаусса - Зейделя

Рассмотрим систему линейных алгебраических уравнений с тремя неизвестными:

'аихх+апх2+апхг =Ъ{,

■j a2 i*i +а22х2 + а2гхъ = Ъ2;

<*г\х\ + а22х2+ #33X3 = Ь3.

Вынесем в левую часть каждого уравнения диагональное неиз­ вестное:

Лз =

(6 , —ai2x2 —Й13Х3 );

 

 

а \ \

 

' Х2

а22 (^ 2 ~ а2\Х\ ~ а2ЪХь)>

(4.25)

*3 =~ ( Ъг ~ аг\х\ ~ а22х2)-

“зз

Для нулевого (начального) приближения зададим некоторые значения неизвестных, обозначив их х,(0),х£0),х^0) Подставив на­ чальное приближение в систему (4.25), получим

«п

 

 

 

*x f = —

[Ь2- а21х,(1) - а234 0));

(4.26)

« 2 2

х

'

 

= —

(^з ~

a 3 i x i l) “ «зг*!®)-

 

«зз

 

 

 

В системе (4.26) для определения неизвестных х^

и х^ при­

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

На к-й итерации система будет выглядеть следующим образом:

*f4 = — (*. - " 12* Г Ч

«11 '

<x f } = — (b2- а 21х,(А) - а 2Ъхf _l));

« 2 2 V '

4 к) =— (Ь3-«зЛ (Л) - « 3 2 ^ )- «зз'

Таким образом, текущие значения неизвестных сразу же при­ меняются для последующих вычислений. Этот метод принято назы­ вать итерационным методом Гаусса - Зейделя.

Пример:

4х, - х 2 +*з =4;

• х, + 6 х2 + 2х3 = 9;

—Х[ - 2 х 2 + 5 х 3 = 2 ;

JC] — ^ ( 4 + ^ 2 JC3 ) ,

 

4 X2 =

*1 2

лз)»

 

* 3

= j ( 2

+ *l+ 2

*2 )-

Пусть JC]0) = 0,

= 0,

x f

= 0, тогда

r

1

 

 

 

xf1)=A(4 + 0 - 0 ) = l;

<jd^ = —( 9 - l - 2 0 ) = 4/3;

6

^ 1) = I ( 2 + l + 2-4/3) = 17/15

и Т.Д.

Истинное решение, к которому стремится итерационный про­ цесс (дг, =1, JC2 =1, JC3 =1), будет получено на 5-6-й итерации.

В случае системы п уравнений к-е приближение к истинному решению будет иметь вид

x{k)= —

(b - а Лк)- а

х(к)_

- а

 

г{к) - а г{к~Х) -

- а г^к~х)\

Xi

п

\ ° i a i\X\

a i2x 2

 

a i j - \ Xi-\

a itM x M

a inX n )>

 

*U

 

 

 

 

 

 

 

 

 

 

 

или

 

 

 

 

/ =

n,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

(

M

 

п л

n

^

 

 

 

 

 

1

^

 

 

^

( * - l )

 

 

 

 

 

=

bt

 

 

 

- X

aux<j

 

 

 

 

 

^ii

 

J= 1

 

 

j=M

y

 

 

 

Итерационный процесс будет продолжаться до тех пор, пока

все х,-А) не станут близки х-к~х\

Для определения критерия близости

можно сформулировать условие

 

 

 

 

 

 

 

 

 

 

 

 

 

г ( к )

_

Л к -1)

 

 

 

 

 

 

 

 

шах x i

 

x i

<£.

 

 

Рассмотрим сходимость данного метода. Дана система двух ли­ нейных уравнений

аих +а12У =Ь1,

(4.27)

а21х + а22у =Ь2,

 

тогда

 

 

*С*>= ±

( 4 |- й]2/*-'>),

(4.28)

Я.1

'

 

ут =—

-a21*(i)).

а 22

'

Обозначим

 

à x W = x - x « \

Ду(к)= у _у(к)

Из уравнений (4.27) и (4.28) получим

Дс« = _ ^ 1 Ду ^ ) 5

ап

ду * ) = _ “21.д*(*>

а 22

Из последних уравнений следует

Ду(*) = - 5 & д>,(*-1)

а11а 22

Аналогично

апа22

 

CI] 9Æ'

 

(* -2)

Ayw = -

12“

21

Ay

 

Valla 22

 

 

7

 

Продолжая, можно получить

\ к

( 0)

Ду« = - а \2 а 2 \

а 11а 22 )

АУ1

 

Отсюда следует, что итерационный процесс для метода ГауссаЗейделя сходится, если приближение для к-й итерации станет суще­ ственно отличаться от первого приближения. Это возможно только при соблюдении условия

а 12а 21 < 1,

а \ \ а 22

т.е. диагональные члены должны доминировать над остальными. 4.6. Сравнение методов

Метод исключения хорош тем, что он конечен и теоретически с его помощью возможно реализовать любую невырожденную сис­ тему линейных алгебраических уравнений. Итерационный метод Гаусса - Зейделя сходится только для специальных систем уравне­ ний. Однако если итерационный метод сходится, то применение его предпочтительнее:

1. Время вычислений «я2 на одну итерацию, в то время как для метода исключения время пропорционально я3 Если решение по­ лучено менее чем за я итераций, то для итерационного метода об­ щие временные затраты будут меньше.

2. Ошибки округления для итерационного метода меньше.

3. Большие системы уравнений невозможно точно решить с помощью прямых методов.