Лекція 1.3 MATLAB у задачах прикладної математики

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

До розв’язання систем лінійних рівнянь зводяться численні практичні задачі, наприклад різні крайові задачі для звичайних і в частинних похідних диференційних рівнянь. Можна стверджувати, що проблема є однієї з найпоширеніших і важливих задач прикладної математики.

Нехай задана система п лінійних алгебраїчних рівнянь з n невідомими:

                   3.1

Система рівнянь (3.1) у матричній формі представляється в такий спосіб:

АХ = Y,                                           (3.2)

де: А – квадратна матриця коефіцієнтів, розміром п ´ п рядків і стовпців;

Х – вектор-стовпець невідомих;

В – вектор-стовпець правих частин.

 

Систему рівнянь (3.2) можна вирішити різними методами. Один з найбільш простих і ефективних – метод виключення Гаусса і його модифікації. Його алгоритм базується на приведенні матриці А до трикутнокового вигляду (прямій хід) і послідовному обчисленні невідомих (зворотний хід). Ці процедури можна виконувати над невиродженими матрицями, у противному випадку метод Гаусса не застосовується.

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

Якщо матриця А сильно розріджена, а її визначник не близький до нуля, то метод Гаусса придатний для рішення великих систем рівнянь. У MATLAB мається великий арсенал методів рішення систем рівнянь (3.2) методом виключення Гаусса. Для цього застосовуються наступні оператори:

/

- правий розподіл;

 

 

\

- лівий розподіл;

 

 

^ - 1

- зведення в степінь –1;

 

 

inv(A)

- звертання матриці А.

 

 

Вирази

Х

=

Y/A

Х

=

Y* А^ - 1

Х

=

Y* inv(A)

Х

=

A\Y

дають рішення ряду систем лінійних рівнянь АХ = Y, де А – матриця розміром m × n, Y – матриця розміром n × к.

 

Приклад.

Розв’язати систему 4-х лінійних рівнянь:

Протокол програми (у М-файлі)

а

=

[1.1161    0.1397   0.1254   0.1490 ;

 0.1582    0.1768   1.1675   0.1871 ;

 0.1968    1.2168   0.2071   0.2271 ;

 0.2368    0.2568   0.2471   1.2671] ;

b

=

[1.5471 ; 1.6471 ; 1.7471 ; 1.8471] ;

 

<< Х4 = а \ b

 

Ця програма видає розв’язок заданої системи за допомогою четвертого оператора у виді матриці – стовпця:

Х4

=

 

1.0406

0.9351

0.9870

0.8813

 

Увага. У М-файлі матриця а набирається по рядках, а елементи матриці правих частин b відокремлюються символом ; , тобто теж набираються по рядках. Рішення іншими операторами системи рівнянь (3.2) вимагає набору матриці а по стовпцях, а елементи правих частин b відокремлюються тільки пробілом!

 

а

=

[1.1161    0.1582   0.1968   0.2368 ;

 0.1397    0.1768   1.2168   0.2568 ;

 0.1254    1.1675   0.2071   0.2471 ;

 0.1490    0.1871   0.2271   1.2671] ;

b

=

[1.5471    1.6471   1.7471   1.8471] ;

 

<< Х1 = b/а

<< Х2 = b* a ^ - 1

<< Х3 = b* inv(a)

 

Результати розв‘язку:

 

Х1

=

 

1.0406   0.9351   0.9870   0.8813

Х2

=

 

1.0406   0.9351   0.9870   0.8813

Х3

=

 

1.0406   0.9351   0.9870   0.8813

Accessibility

Шрифти

Розмір шрифта

1

Колір тексту

Колір тла