книги / Основы математического моделирования и численные методы
..pdfЛ к -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. Большие системы уравнений невозможно точно решить с помощью прямых методов.