МЕТОД ГАУССА ДЛЯ РОЗВ’ЯЗУВАННЯ СИСТЕМ ЛІНІЙНИХ АЛГЕБРАЇЧНИХ РІВНЯНЬ

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
О
Факультет:
ЗІ
Кафедра:
Не вказано

Інформація про роботу

Рік:
2016
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Комп’ютерні методи дослідження інформаційних процесів та систем

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»  ЗВІТ до лабораторної роботи №2 з курсу: «Комп'ютерні методи дослідження інформаційних процесів і систем» на тему: «МЕТОД ГАУССА ДЛЯ РОЗВ’ЯЗУВАННЯ СИСТЕМ ЛІНІЙНИХ АЛГЕБРАЇЧНИХ РІВНЯНЬ» Львів – 2015 Мета роботи – ознайомлення з прямими методами розв’язування систем лінійних алгебраїчних рівнянь. Короткі теоретичні відомості: Прямі методи розв’язування систем лінійних алгебраїчних рівнянь Класичний метод Гаусса. Розглянемо систему рівнянь четвертого порядку:   (1) Зауважимо, що елементи вектора-стовпчика вільних членів  занесені в матрицю коефіцієнтів А. Будемо вважати, що . З першого рівняння знаходимо х1: , (2) де  , . З допомогою рівняння (2) можна виключити  з решти рівнянь, для чого достатньо підставити (2) для  в друге, третє і четверте рівняння системи. Це і є першим кроком – кроком виключення невідомого .  ,  Перехід від початкової системи  до новоствореної  відбувається за такою формулою:    Другий крок – виключення невідомого  відбувається аналогічно:        Третій крок – виключення невідомого   ,     ;  Останнє рівняння можна переписати у вигляді:  або . Отже, в результаті прямого ходу одержимо систему рівнянь:  Знаходження невідомих проводиться в оберненому ході методу Гаусса шляхом зворотніх підстановок. Якщо п – кількість рівнянь (порядок) системи, то програмування обчислювального процесу проводиться так: L – кількість кроків виключення ; j – позначення другого індексу при визначенні α ; і – номер рядка системи ; k – номер стовпця. Завдання: Розв’язати систему лінійних алгебраїчних рівнянь методом Гаусса.   Блок-схема алгоритму програми: початок 1 f(x) x1:=f(x) ні k<3 k:=k+4 так i<k+1 i:=i+1 ні так j>=k ні j:=j-4 так a[i,j]:= f(x) f(x) i>=0 i:=i-1 ні j>i j:=j-1 x[i]:= f(x) x[i]:=f(x) так i<k+1 i:=i+1 так x1,x2,x3,x4 Список ідентифікаторів констант, змінних, процедур і функцій: x1,x2,x3,x4 – змінні, які використовуються для знаходження коренів рівнянь системи. i,j – змінні, що застосовуються в циклах для позначення рядків та стовпців. n – константа, означає кількість стовпців вихідної матриці. s, p – константи, що використовують для визначення коефіцієнтів вихідних рівнянь. mas() - функція, в якій відбувається виведення вихідної системи на екран, знаходження допоміжних коефіцієнтів, обчислення коренів системи рівнянь і виведення їх на екран. Текст програми using System; class B { double s, p; double[] x = new double[4]; int i, j, k; public B(int a, int d) { s = 0.2 * a; p = 0.2 * d; } public void mas() { double[,] a ={{8.3,2.62+s,4.1,1.9,10.55+p}, {3.92,8.45,7.78-s,2.46,12.21}, {3.77,7.21+s,8.04,2.28,15.45-p}, {2.21,3.65-s,1.69,6.99,-8.35}}; Console.Clear(); Console.WriteLine("\n"); for (i = 0; i < 4; i++) { for (j = 0; j < 5; j++) { if (j == 3) Console.Write("{0} x{1} ", a[i, j], j + 1); else if (j == 4) Console.Write(" = " + a[i, j]); else { Console.Write("{0} x{1}", a[i, j], j + 1); Console.Write(" + "); } } Console.WriteLine("\n"); } for (k = 0; k < 3; k++) { for (i = k + 1; i < 4; i++) { for (j = 4; j >= k; j--) { a[i, j] = a[i, j] - (a[k, j] / a[k, k]) * a[i, k]; } } } for (i = 3; i >= 0; i--) { for (j = 3; j > i; j--) x[i] = x[i] + a[i, j] * x[j]; x[i] = (1.0 / a[i, i]) * (a[i, 4] - x[i]); } for (i = 0; i < 4; i++) Console.WriteLine("x{0}={1}", i + 1, x[i]); } } class program { public static void Main() { B g = new B(4, 3); g.mas(); Console.ReadKey(); } } Результати виконання програми  Висновок: Я ознайомився з прямими методами розв’язування систем лінійних алгебраїчних рівнянь. Розробив програму для розв’язання системи лінійних алгебраїчних рівнянь класичним методом Гаусса.
Антиботан аватар за замовчуванням

30.03.2016 11:35

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!