Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КМСхКТ_мет_2012.doc
Скачиваний:
6
Добавлен:
19.11.2019
Размер:
1.81 Mб
Скачать

5.1.Метод Гауса

Метод Гауса [4] застосовується в проектуванні РЕА для розв’язання систем алгебраїчних рівнянь, розрахунку визначника матриці, а також обернення початкової матриці коефіцієнтів. Метод потребує мінімальної кількості обчислень , де n – порядок матриці.

5.1.1.Розв’язання систем алгебраїчних рівнянь методом Гауса

Нехай, задана система рiвнянь AX = B, де A - матриця розміром n n, X = ( x1 , x2 , . . . , xn )t - вектор, що шукають, а B = ( b1 , b2 , . . . , bn )t - заданий вектор. Якщо [2] значення визначника матриці A відрізнається від нуля, то існує її розвязок X.

Метод Гауса для розв’язання систем алгебраїчних рівнянь включає два етапи: прямий хід і зворотній.

Прямий хід – зведення початкової матриці коефіціентів системи до еквівалентної трикутної за формулою:

(5.1)

де k – номер провідного рівняння, що додається до інших; і – номер рівняння, що перетворюється; j - номер коефіцієнта у рівнянні.

Задача 5.1. Методом Гауса трансформувати до еквівалентної з верхньою трикутною матрицею коефіцієнтів систему рівнянь АХ=В, де

Розв’язок. Перетворення у відповідності до (5.1) розширеної матриці коефіціентів для має вигляд:

Перетворення розширеної матриці коефіціентів для має вигляд:

Таким чином, в результаті отримана еквівалентна початковій система рівнянь з верхнею трикутною матрицею коефіціентів.

Зворотній хід метода Гауса дозволяє отримати значення невідомих за формулою:

,

(5.2)

Де - перетворені коефіцієнти відповідно початкової матриці та стовпчика вільних членів.

Задача 5.2. Із еквівалентної системи рівнянь попередньої задачі розрахувати значення невідомих.

Розв’язок. У відповідності до (5.2) значення невідомих:

Таким чином, вектор невідомих становить Х= [5, 2, 1]t.

Програмна Gauss, що реалізує метод Гауса для розв’язання системи рівнянь із прикладу (5.1) наведена нижче.

Program Gauss;

uses CRT;

const n=3;

a: array [1..3,1..4] of real= (( 1,-1, 0, 3),

(-1, 3,-1, 0),

( 0,-1, 2, 0));

var i,j,k: integer;

g,s: real;

BEGIN

ClrScr; { 1. Прямий хiд Гауса }

for k:=1 to n-1 do

for i:=k+1 to n do

begin

g:=a[i,k]/a[k,k];

for j:=1 to n+1 do a[i,j]:=a[i,j]-g*a[k,j];

end; { 2. Виведення перетвореноi матрицi }

writeln('Перетворенa матриця ');

for i:=1 to n do

begin

for j:=1 to n+1 do write(a[i,j]:5:1); writeln

end;

for i:=n downto 1 do { 3. зворотний хiд Гауса }

begin s:=a[i,n+1];

for j:=i+1 to n do s:=s-a[i,j]*a[j,n+1];

a[i,n+1]:=s/a[i,i]

end;

writeln; { 4. Виведення невiдомих }

for i:=1 to n do writeln('x',i,'=',a[i,n+1]:5:1);

END.

Результати виконання програми Gauss мають вигляд:

Перетворенa матриця

1.0 -1.0 0.0 3.0

0.0 2.0 -1.0 3.0

0.0 0.0 1.5 1.5

x1= 5.0

x2= 2.0

x3= 1.0

Це співпадає з результатами, що отримані раніше.

5.1.2.Обчислення визначника матриці методом Гауса

Обчислення визначника матриці методом Гауса при використанні обчислювальної схеми без нормування провідних рівнянь грунтується на множенні значень діагональних елементів модифікованої трикутної матриці коефіцієнтів

.

(5.3)

і дозволяє зручно та швидко розраховувати визначникі матриць, порядок яких може бути набагато більшим ніж 2…3.

Задача 5.3. Розрахувати значення визначника матриці із попереднього прикладу.

Розв’язок. Розрахунок визначника матриці А третього порядку за правилом «зірочки» дає наступний результат

Використання формули (5.3) до перетвореної за Гаусом матриці дає наступний результати

Отриманий результат співпадає з розрахунками за правилом «зірочки».

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]