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

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

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

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

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

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» ІКТА кафедра БІТ Звіт про виконання лабораторної роботи №2 з курсу: «Комп’ютерні методи дослідження інформаційних процесів та систем» на тему: «Метод Гаусса для розв’язування систем лінійних алгебраїчних рівнянь» Мета роботи – ознайомлення з прямими методами розв’язування систем лінійних алгебраїчних рівнянь. 1.Короткі теоретичні відомості Метод Гаусса з вибором головного елемента. Запишемо розширену прямокутну матрицю коефіцієнтів системи з  рівнянь.  Серед елементів матриці   вибираємо найбільший за модулем елемент, який називається головним елементом. Нехай ним буде . Рядок з номером  називається головним рядком. Обчислюємо множники  для всіх . Далі перетворюємо матрицю наступним чином: з кожного го неголовного рядка віднімаємо почленно головний рядок, домножений на . Отримаємо матрицю, у якої всі елементи го стовпця за винятком , дорівнюють нулю. Відкидаючи цей стовпець і головний рядок, отримуємо нову матрицю  з меншою на одиницю кількістю рядків та стовпців. Над матрицею  повторюємо такі ж дії й тримаємо матрицю  і т.д. Ці перетворення продовжуємо доки не отримаємо матрицю, що містить один рядок з двох елементів, який вважаємо головним. Об’єднаємо всі головні рядки починаючи з останнього. Після перестановки вони утворять трикутну матрицю, еквівалентну початковій матриці . Цей етап називають прямим ходом обчислень. Розв’язавши систему з отриманою трикутною матрицею коефіцієнтів, знайдемо послідовно невідомі  . Цей етап обчислень називають зворотним ходом. Усі описані обчислення проводять аналогічно до методу Гауса. Сенс вибирання головного елемента полягає в тому, щоб зробити як найменшими числа  і завдяки цьому зменшити похибку обчислень. 2.Завдання Розв’язати систему лінійних алгебраїчних рівнянь методом Гаусса з вибором головного елемента.   3.Блок-схема алгоритму програми + + 4. Список ідентифікаторів констант, змінних, функцій, використаних у блок-схемі алгоритму і програмі, та їх пояснення class Program – клас, в якому виконуються всі дії; double[] b, double[,] a- масиви в яких зберігаються коефіцієнти системи; n – розмірність масиву; max – максимальний елемент масиву ; max_i – індекс максимального елемента масиву; lead, a_div_lead – змінні які використовуються для отримання розв’язку; Console.WriteLine() – метод виведення на екран; 5. Текст програми using System; namespace Sabodaschko { class Program { static void Main() { int i, n,k,j; double[] b; double[,] a; Console.WriteLine("Введи порядок системи"); n= Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Введи коефiцiєнти "); a = new double[n, n]; b = new double[n]; for (i = 0; i < n; i++) { for (j = 0; j < n ; j++) { Console.WriteLine("a["+(i+1)+","+(j+1)+"]="); a[i, j] =Convert.ToDouble(Console.ReadLine()); } Console.WriteLine("b[" + (i + 1) + "]="); b[i] = Convert.ToDouble(Console.ReadLine()); } double eps = 0.000001; double max; int max_i; double lead, a_div_lead; for (k = 0; k < n; k++) { max = 0; max_i = -1; for (i=k; i <n; i++) { if (Math.Abs(a[i,k]) > max) { max = Math.Abs(a[i, k]); max_i = i; } } if (max_i == -1 || Math.Abs(a[max_i,k]) < eps) { Console.WriteLine("Error: det=0"); break; } lead = a[k,k]; for (j = k; j < n; j++) a[k,j] /= lead; b[k] /= lead; for (i = 0; i < n; i++) { a_div_lead = a[i,k] / a[k,k]; if (i != k) { for (j = k; j < n; j++) a[i,j] -= a[k,j] * a_div_lead; b[i] -= b[k] * a_div_lead; } } } Console.Write( "Матриця пiсля перетворень та вiдповiднi результати \n"); for (i = 0; i < n; i++) { for (j = 0; j < n; j++) Console.Write(a[i,j] + " "); Console.Write("x("+(i+1)+")="+b[i] + " \n"); } Console.ReadKey(); } } } 6. Результати роботи програми / 7. Висновки На даній лабораторній роботі я навчився розв’язувати системи лінійних алгебраїчних рівнянь за допомогою комп’ютерних програм . Розв’язував системи за допомогою методу Гаусса з вибором головного елемента. Застосовував різноманітні кроки для того , щоб звести матрицю до діагонального вигляду , і тим самим отримати розв’язки даної системи лінійних алгебраїчних рівнянь .
Антиботан аватар за замовчуванням

30.03.2013 22:03-

Коментарі

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

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

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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