Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсовой1.doc
Скачиваний:
11
Добавлен:
07.03.2016
Размер:
368.64 Кб
Скачать

24

1ОГЛЯД ІСНУЮЧИХ АЛГОРИТМІВ

1.1 Опис алгоритмів для вирішення поставленої задачі.

1.1.1 Метод Гаусса

Він оснований на приведенні матриці системи до трикутного вигляду. Це досягається послідовним виключенням невідомих з рівнянь системи. Спочатку за допомогою першого рівняння виключається зі всіх наступних рівнянь системи. Потім за допомогою другого рівняння виключається з третього і всіх наступних рівнянь. Цей процес, який називається прямим ходом метода Гаусса, продовжується до тих пір, поки в лівій частині останнього ( -го) рівняння не залишиться лише член з невідомим , тобто матриця системи не буде приведена до трикутного вигляду. (Відмітимо, що к такому вигляду приводиться лише невироджена матриця. В іншому випадку метод Гаусса застосовувати не можна.)

Зворотній хід метода Гаусса полягає у послідовному обчисленні шуканих невідомих: розв’язуючи останнє рівняння, знаходимо єдине невідоме . Далі, використовуючи це значення, з попереднього рівняння обчислюємо і т. д. Останнім знайдемо з першого рівняння.

Розглянемо застосування метода Гаусса для системи

( 1.1)

Для виключення з другого рівняння додамо до нього перше, помножене на . Потім, помноживши перше рівняння на і додавши результат

до третього рівняння, також виключимо з нього . Отримаємо рівнозначну систему рівнянь вигляду

(1.2)

Тепер з третього рівняння системи (1.2) треба виключити . Для цього помножимо друге рівняння на і додамо результат до третього. Отримаємо

(1..3)

Матриця системи (1.3) має трикутний вигляд. На цьому закінчується прямий хід метода Гаусса.

Відмітимо, що в процесі виключення невідомих доводиться виконувати операції ділення на коефіцієнти , , і т. д. Тому вони мають бути відмінними від нуля; в іншому випадку необхідно відповідним чином переставити рівняння системи. Переставляння рівнянь повинна бути передбачена в обчислювальному алгоритмі при його реалізації на ПК.

Зворотній хід починається з розв’язання третього рівняння системи (1.3):

(1..4)

Використовуючи це значення, можна знайти з другого рівняння, а потім з першого:

(1.5)

Аналогічно будується обчислювальний алгоритм для лінійної системи з довільною кількістю рівнянь.

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

Одним з найпоширеніших ітераційних методів, який відрізняється простотою та легкістю програмування, є метод Гаусса-Зейделя. Проілюструємо спочатку цей метод на прикладі розв’язання системи

(1.6)

Припустимо, що діагональні елементи , , відмінні від нуля (в іншому випадку можна переставляти рівняння). Виразимо невідомі , , відповідного з першого, другого і третього рівнянь системи (1.6):

(1.7)

(1.8)

(1.9)

Задамо деякі початкові (нульові) наближення невідомих: , , . Підставляючи ці значення в праву частину виразу (1.7), отримуємо

нове (перше) наближення для :

(1.10)

Використовуючи це значення для і наближення для , знаходимо з (1.8) перше наближення для :

(1.11)

І нарешті, використовуючи обчислені значення ,, знаходимо за допомогою виразу (1.11) перше наближення для :

(1.12)

На цьому закінчується перша ітерація розв’язання системи (1.7) – (1.9). Використовуючи тепер значення , , , можна таким же чином провети другу ітерацію, в результаті якої будуть знайдені другі наближення до розв’язку: , , і т. д. Наближення з номером можна представити у вигляді

(1.13)

Ітераційний процес продовжується до тих пір, поки значення , , не стануть близькими з заданою похибкою до значень , , .

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

Метод Зейделя є класичним ітераційним методом вирішення системи

лінійних рівнянь. Візьмемо систему:

(1.14)

де , Або (1.15)

Перепишемо завдання у вигляді: (1.16)

Тут в j-м-коді рівнянні ми перенесли в праву частину всі члени, xi, що містять, для i > j. Цей запис може бути представлений: (1.17)

де в прийнятих позначеннях D означає матрицю, в якої на головній діагоналі коштують відповідні елементи матриці A, а всі останні нулі; тоді як матриці U і L містять верхню і ніжнюю трикутні частини A, на головній діагоналі яких нулі. Ітераційний процес в методі Зейделя будується по формулі

(1.18)

після вибору відповідного початкового наближення . Нові значення використовуються тут відразу ж у міру здобуття

(1.19)

де

Таким чином i-танучи компонента (до + 1) -го наближення обчислюється за формулою:

(1.20)

Умова закінчення ітераційного процесу Зейделя досягши точності в спрощеній формі має вигляд: (1.21)

Точніша умова закінчення ітераційного процесу має вигляд (1.21)

і вимагає більше обчислень. Добре підходить для розріджених матриць.