Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Численные методы решения задач строительства на ЭВМ..pdf
Скачиваний:
45
Добавлен:
15.11.2022
Размер:
16.27 Mб
Скачать

Четвертая итерация дает

х,(4) =1,020; 4 4)= 2,022; х<4)= 0,991 и т.д.

Потребуется 8 итераций, чтобы получить решение СЛАУ (2.36) с точностью £• = 0,001. Точное решение jct=1/ х2=3; х3=1.

Решение данного примера с использованием электронных таблиц Excel приведено в разделе 2.9.3.

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

Метод представляет собой модификацию метода Якоби. Основная идея метода заключается в том, что при вычислении

+ 1)-й итерации неизвестное

вычисляется с учетом уже

найденных: x,(i+l) ,х 2*+|) >• ••*м+1)

Проиллюстрируем метод для и=3. Пусть система линейных алгебраических уравнений уже приведена к нормальному виду:

*i =Pi + а 12х2 + а |3х3,'

 

 

Х2 — Р2 + а 21-*1 + а 23*3’ ’

 

(2.39)

 

 

х з = Рз + а 3,х, + а 32х2.

 

 

 

Выбираем

произвольное

начальное

приближение

Х (0)

х20)

J4°>} и подставляем в первое уравнение системы

(2.39)

 

 

 

 

 

 

 

 

 

*1(') = Р |+ а 12*20)+ а 13*30)

 

 

Полученное

первое

приближение

х,(1) подставляем во

второе

уравнение системы (2.39)

 

 

 

 

 

 

=Р 2 + а 2|х,(1) + а 23х^0)

 

 

Используя

находим х\1)из третьего уравнения

 

*3 ^~ Рз + <*31*1 ^+ а 32*2 *

Этим заканчивается построение первой итерации

/ V X? xj” }.

(1)

Используя значения X , можно таким же способом построить следующие итерации. Итерацию с номером (А:+1) можно представить следующим образом:

х,(*+|) = Д

+а|2*24) + а ,з*з*)»

 

х?+1) = рг + а д

(*+1) + сс22х ? \

(2.40)

х\М ) = Р з + ^ к+1)+ а п х

^

 

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

 

_ (к)

_

(*+1)

 

 

соседних приближения

X

, Х

не

станут

достаточно

близкими. Критерий близости может быть задан следующим образом:

(к)

v(*+l)

<6.

(2.41)

max х,

- х;

За приближенное решение системы (2.28) с точностью в принимается (£-Н)-я итерация, т.е.

(* + i)

Х- Х

Пример 2.3. Методом Гаусса - Зейделя решить ту же самую систему (2.36), которую решали методом Якоби.

Система, приведенная к нормальному виду:

х, =0,75-0,125x2 +0,5х3, х2 = 1,5 +0,333*! +0,167*з, ► *3 =1,25 +0,25*! - 0,25*2-

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

(0)

_

, ( 0 )

1,25

*!(0)=0,75; *2

~ 1,5 ;

 

Применяя процесс Зейделя , последовательно получим

х{'}=0,75 - 0,125• 1,5 +

0,5• 1,25 = 1,188;

JC‘° = 1,5 +0,3331,188 +0,167 1,25 = 2,104; •

4 ° = 1,25+0,25 1,188

-0,25 -2,104 = 1,021.

лг,(2) =0,75-0,125-2,104+ 0,5 1,021 = 0,997;

 

4 2) = 1,5+ 0,333 • 0,997 + 0,167 • 1,021 = 2,003;

ит.д.

x f } = 1,25 + 0,25 • 0,997 - 0,25 • 2,003 = 0,999

 

Точное решение этой системы имеет вид: х\ = \; х2=3; л'3=4.

 

Решение данного примера с использованием электронных таблиц Excel приведено в разделе 2.9.4.

2.3.3. Условия сходимости итерационного процесса

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

Доказывается теорема [8], что, если хотя бы одна из норм матрицы нормальной системы (2.30) меньше единицы, то итерационный процесс сходится к единственному решению. Т.е. изложенные выше итерационные методы можно использовать для систем, удовлетворяющих одному из следующих условий [12]:

 

HI, = m a x ^ |a ?/| <1,

либо

П

(2.42)

/=I

А для системы (2.28) итерационный процесс сходится, если элементы матрицы А удовлетворяют условию

КI>:>2 КI* v= и )*

(2-43)

i*j

 

т.е. модули диагональных элементов каждой строки больше суммы модулей всех остальных элементов.

Пример 2.4. Показать, что для системы (2.36) процесс итерации сходится к точному решению.

Решение. Матрица приведенной к нормальному виду системы (2.37) равна:

0 -0,125 0,5

0,333 0 0,167

0,25 -0,25 0

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

ЦаЦ, = max{o,625;0,5;0,5} = 0,625;

||а||2 = max{0,583;0,375;0,667} = 0,667;

Цаг||з = V0,1252 +0,52 +0,3332 +0,1672 +0,252 +0,252 *0,728.

Достаточное условие (2.42) сходимости итерационного процесса выполнено.

Таким образом, теорема сходимости накладывает жесткие условия на коэффициенты заданной системы уравнений А Х = В Однако, если det А?Ч), то с помощью линейного комбинирования уравнений исходной системы, последнюю всегда можно заменить эквивалентной системой, такой, что условия сходимости будут выполнены.

Практически эти преобразования можно выполнить следующим образом:

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

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

Пример 2.5. Привести систему к виду, годному для применения

итерационных методов решения:

 

г

(A)

*, + 3*2 - 4*з =3,

(B)

< 2,5*, + 7*2 —*3 =3,5,

(C)

4,5*, -2*2 +З*3 =-1,5.

 

ч.

Решение:

1) В уравнении (В) коэффициент при *2 по модулю больше суммы модулей остальных коэффициентов. Принимаем уравнение (В) за 2-е уравнение новой системы:

2,5*i + 7 * 2 - *з = 3,5;

2) Из оставшихся неиспользованных уравнений системы составляем линейно независимые между собой комбинации. За 1-е уравнение новой системы можно взять линейную комбинацию (2С) + (А):

10*1 -*2 + 2*з = 0;

3) За 3-е уравнение новой системы можно принять линейную комбинацию (2А) - (В), т.е.

-0,5*] - *2 - 7*з = 2,5;

Витоге получаем преобразованную систему линейных уравнений,

эквивалентную исходной,

10*, —*2 + 2*з =0, 2,5*, + 7*2 - *3 = 3,5, 0,5*, + *2 + 7*з = -2,5

и удовлетворяющую условиям сходимости итерационного процесса (2.43):

jlOj >[-l| +j2|;

|7j >|2,5j+|-l|;

|7|>|0,5| +il|.

Не существует общей теории, позволяющей сравнить скорость сходимости рассмотренных выше методов. Из наиболее важных результатов следует отметить следующие.

1.Условия (2.42), (2.43) являются достаточными условиями для сходимости итерационного процесса, но они не являются необходимыми. Иными словами, диагональное преобладание не требуется для сходимости как метода Якоби, так и метода Гаусса - Зейделя.

2.Матрица А должна быть “почти диагональной” для сходимости метода Якоби, однако это не совсем то же самое, что диагональное преобладание.

3.Столбцовое диагональное преобладание

достаточно для сходимости. Метод Гаусса - Зейделя будет сходиться к точному решению, если матрица А “почти нижняя треугольная”[30].

4.Если матрица А симметричная положительно определенная, то метод Гаусса - Зейделя сходится ~ в 2 раза быстрее метода Якоби. В других случаях может быть и наоборот. Существуют примеры, для которых метод Якоби сходится, а метод Гаусса - Зейделя расходится.

2.3.4.Оценка погрешности приближенного решения

иподсчет числа итераций

Пусть задана допустимая погрешность вычислений 8,

X -

есть вектор точных значений неизвестных,

а

Х ^ -

к-е

приближение значений неизвестных.

 

 

 

 

 

Отклонение приближения

X

от решения

X

по норме не

будет превышать е, если [45]:

 

 

 

 

 

 

\Х - X

(к) <

И

1у<*>

 

л(*-1) 1<ИГ

 

 

 

 

1 - ы 1

г 1 - 1

•|И<^

(2.44)

где а - одна из трех норм матрицы а,

-та же норма вектора р ,

к- число итераций, необходимое для достижения заданной точности.

Используя неравенство (2.44), можно оценить погрешность каждого результата (каждой итерации) по формуле

(2.45)

IIII 1 - а

ачисло итераций {приближений), дающих ответ с заданной точностью 6, молено определить с помощью соотношения

< 8 .

(2.46)

Пример 2.6. Для системы уравнений (2.36) (см. пример 2.5) оценить погрешность 4-го приближения и определить число итераций дающее ответ с точностью 0,001.

Решение:

 

 

 

'1,036'

'

1,02 '

 

х (3)= 2,076

— (4)

2,022

 

X =

 

1,057 5

 

0,991

>

|лг(4) _ х (3)|| = max {0,016, 0,054, 0,066}=0,066;

|]ос|| =0,625 (см. пример 2.4).

Следовательно, X

дает значение корня X с погрешностью, не

На

•0,066 = 0,1 1 .

превышающей величины

а

1 -

0,375

Число итераций вычислим по формуле (2.46), используя 1-ю норму матрицы Цсс^ =0,625 и вектора ||р|| = 1,5 соответственно:

1 \

Щ < е => ’

1,5 < 0,001 0,625(t+l) < 0,00025 =>

l-faf,

1

0,375

=> (k +1)lg0,625 < lg0,00025 => (£ + !)•(-0,204) < (-3,6) => к >16,6 => к * 11.

Фактическое число итераций для достижения заданной точности равно 8 (пример 2 .2), то есть, теоретическая оценка оказывается завышенной.

2.4. Некоторые рекомендации по использованию методов

1) Прямые методы имеют то преимущество, что они конечны, и теоретически с их помощью можно решить любую невырожденную систему уравнений. Но прямые методы решения СЛАУ, в частности, метод Гаусса для систем общего вида, не рекомендуется применять при очень больших п ( п > 102 ) из-за нарастающих ошибок округления, связанных с выполнением большого числа арифметических операций. В итерационных методах ошибки округления, как правило, меньше.

2) Итерационные методы следует использовать только при определенных обстоятельствах, поэтому очертим основной круг идей и дадим рекомендации относительно того, когда они могут быть уместны [26, 30]:

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

Итерационные методы наиболее рациональны для разреженных матриц, имеющих большой порядок {п)% поскольку они требуют гораздо меньше оперативной памяти,

чем прямые методы (~п2 машинных слов - для метода Гаусса и ~рп - для итерационного, где р - число ненулевых элементов в одной строке).

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

. П2

,

А < —

, где А - число итерации;

3р

 

а для ленточной матрицы с шириной ленты т:

т

к <

9

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

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

По мере увеличения размерности задач, достигающей в настоящее время десятков и сотен тысяч уравнений, появились новые итерационные методы, которые можно рассматривать как