Курсовая работа: Програмування в Delphi

а11 х1 + а12 х2 + ... + а1 n хn = а1, n +1 , (1.1)

а21 х1 + а22 x2 + …+ а2 n хn =a2, n +1,

аn 1 х1 + а n 2 x2 + ...+ аnn xn = an , n +1,

де хk — невідомі величини; а ij — задані елементи розширеної матриці системи рівнянь. Для розв’язку СЛАР приміняють два класи методів: прямі та ітераційні. Прямі методи універсальні і приміняються до розв’язку систем невисокого порядку (n< 200). Ітераційні методи зручно використовувати для СЛАР високого порядку з слабо заповненими матрицями.

Метод Гаусса відноситься до прямих методів. Алгоритм методів складається з двох етапів. Перший етап називається прямим ходом і заключається у послідовному виключенні невідомих з рівнянь, починаючи з х1 .

З першого рівняння системи(1.1) виражаємо невідоме х1 :

х1 = (а1, n +1 - а12 х2 - ... -а1 n хn )/а11 , (1.2)

що можливе при а11 ≠ 0, в іншому випадку потрібно виконати перестановку рівнянь системи. Згідно формулі (1.2) потрібно кожен елемент першого рядка розширеної матриці СЛАР поділити на діагональний елемент

а1 j (1) = a1 j /a11 . (1.3)

Потім підставляємо вираз (1.2) у всі рівняння системи, тим самим відкидаємо х1 із всіх рівнянь, крім першого. Елементи розширеної матриці перетворюємо по формулі

ai j (1) = аi j –аi 1 а1 j (1) ,

i = 2, 3, ..., n; j = 1, 2, ..., n+1. (1.4)

У результаті виключення першого невідомого х1 із всіх рівнянь, всі елементи першого стовпчика перетворення матриці будуть рівні нулю, крім а11 (1) =1.

Невідоме х2 виражаємо із другого рівняння системи і виключаємо із останніх рівнянь і т.д. В результаті отримуємо СЛАР з верхньою трикутною матрицею, у якої всі елементи нижче головної діагоналі рівні нулю.

Запишем вирази для невідомих хk і перетворення елементів розширеної матриці системи, згідно формулам (1.2) – (1.4):

xk = (аk , n +1 -∑ аk j хj )/а kk , (1.5)

аkj ( m +1) = аkj ( m ) / а kk ( m ) ,

а i j ( m +1) = а i j ( m ) - а i k ( m ) а kj ( m ) .

Другий етап розв’язку СЛАР називається зворотнім ходом методу Гаусса і полягає в послідовному визначенні невідомих х k за першою формулою (1.5), починаючи з невідомого х n і закінчуючи х1 .

Точність результатів буде визначатися точністю виконання арифметичних операцій при перетворенні елементів матриці. Для зменшення похибки при діленні на діагональний елемент (друга формула (1.5)) рекомендується виконати таку перестановку рівнянь, щоб поставити на діагональ найбільший по модулю із всі

К-во Просмотров: 626
Бесплатно скачать Курсовая работа: Програмування в Delphi