x1 + a12x2+…+ a1nxn = a1,n+1,
a1k= a1k a11, k=2,3,...,n.
Вилучимо x1 з усіх рівнянь системи, крім першого. Для цього помножимо перетворене перше рівняння на -a21 і додамо його до другого. Аналогічно вилучаємо x1 з третього рівняння і т. ін. Помножимо перше рівняння на -an1 і додамо його до останньго, вилучимо x1 з n-го рівняння. На цьому перший крок гауссового вилучення завершено. Початкова система матиме еквівалентний вигляд:
x1 + a12x2+…+ a1nxn = a1,n+1,
a22x2+…+ a2nxn = a2,n+1,
...........................................................
an2x2+…+ annxn = an,n+1.
де aij= aij- ai1 a1j, j=2,3,...,n+1.
На другому кроці, припустивши, що провідний елемент a220, вилучимо невідоме x2 з усіх рівнянь, починаючи з третього.
Після скінченої кількості таких перетворень початкова система лінійних рівнянь матиме один з таких виглядів:
а)
б)
У випадку а) система має єдиний розв’зок, який легко знайти шляхом послідовного вилучення невідомих, починаючи з xn, за формулами:
pascal рівняння лінійний програма гаус
Цей випадок можливий, коли всі рівняння системи лінійно незалежні, тобто визначник матриці коефіцієнтів біля невідомих не дорівнює нулю. Крім того, всі провідні елементи a11, a22, ..., ann також відмінні від нуля. Остання умова завжди виконуватиметься, якщо матриця системи має властивість діагонального перевантаження, тобто
або відмінні від нуля головні мінори матриці.
У випадку б) система несумісна, коли хоча б одне з чисел сr+1,n+1,...,сn,n+1 не дорівнює нулю. Якщо всі елементи сr+1,n+1,..., сn,n+1 дорівнюють нулю, то система має нескінченну множину розв’язків. Невідомі xr+1,...,xn можуть набирати будь-яких значень, а з перших r рівнянь перетвореної системи подано послідовно xr,xr-1,...,x1 через вільні невідомі xr+1,...,xn. У цьому разі система має r лінійно незалежних рівнянь, а решта є їх наслідками.
Схема єдиного ділення полягає у використанні однотипних дій, які легко програмувати на сучасних ЕОМ. Метод Гаусса надзвичайно ефективний також за кількістю арифметичних дій. Кількість множень і ділень у прямому перерізі методу має порядок O(n), де n – кількість рівнянь у системі. У зворотному перерізі цей порядок становить O(n).
У загальному випадку коефіцієнти системи є дробові числа. Крім того, під час ділення на провідні елементи обмежуються скінченою кількістю десяткових знаків. Тому гауссові виключення неминуче супроводжує похибка заокруглення, яка може збільшуватися зі зростанням кількості рівнянь системи. Отже, метод Гаусса дає змогу знайти розв’язок системи з точністю до похибки заокруглення.
1.3 Вхідна інформація
В програмі описаний тип mas1, який являється масивом дійсних чисел максимальної розмірності 50 на 51.
Для введення коефіцієнтів при невідомих і вільних членів в програмі описано матрицю а. Розмірність цієї матриці має тип integer, але її значення обмежене програмою – залежить від кількості рівнянь. Елементи матриці мають такий тип, як і матриця, до якої вони належать.
Показник | Ідентифікатор | Значність | Тип |
матриця а | a | mas1 | |
висота матриці а | n | 1..50 | integer |
ширина матриці а | n+1 | 1..51 | integer |
елемент матриці а | a[i,j] | real |
... . Отже, . 2.3 Опис та інструкція по використанню програми Gauss Дана програма реалізована в інтегрованому середовищі програмування Visual Studio 2008 SP1 мовою програмування С#. Вона дозволяє розв’язувати систему лінійних алгебраїчних рівнянь методом Гауса, записаних в матричній формі, а також методом з пошуком головного елемента, при чому матриці можуть будь-якою вимірністю mxn (m і n – кі ...
0 комментариев