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

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

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

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

Рік:
2024
Тип роботи:
Лабораторна робота
Предмет:
Комп’ютерні методи дослідження систем керування
Варіант:
8

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

Міністерство освіти та науки України Національний університет “Львівська політехніка” Звіт до лабораторної роботи № 2 з курсу “Комп’ютерні методи дослідження систем керування” ПРЯМІ ТА ІТЕРАЦІЙНІ МЕТОДИ РОЗВ’ЯЗУВАННЯ СИСТЕМ ЛІНІЙНИХ АЛГЕБРИЧНИХ РІВНЯНЬ Варіант #8 Мета роботи: вивчити найпоширеніші прямі та ітераційні методи розв’язування систем лінійних алгебричних рівнянь та способи їх застосування для обчислення визначників і обертання матриць. Теоретичні відомості Застосування методу Гауса для обчислення визначників матриць Нехай маємо деяку матрицю . (4.1) Розглянемо лінійну систему . (4.2) При розв’язуванні системи (4.2) методом Гауса (п.2) ми здійснювали заміну матриці  трикутною матрицею , що складалася з елементів зазначених стрічок, . (4.3) У результаті ми отримували еквівалентну систему . (4.4) Елементи матриці  послідовно утворювалися з елементів матриці  та подальших допоміжних матриць  за допомогою таких елементарних перетворень: ділення на головні елементи , , … , , які передбачалися відмінними від нуля, та віднімання із рядків матриці  та проміжних матриць  чисел, що пропорційні елементам відповідних головних стрічок. При першій операції визначник матриці також ділиться на відповідний головний елемент, при другій – визначник матриці залишається незмінним. Тому . Отже  (4.5) Як бачимо з виразу (4.5), визначник дорівнює добутку головних елементів для відповідної схеми Гауса. До того ж немає потреби здійснювати обчислення для вектора вільних членів  та операції зворотного ходу – вистачає лише прямого ходу методу Гауса. Завдання 8 Обчислити визначник матриці методом Гауса з вибором головного елемента по всій матриці матриця №1   Матриця №1  де ; ; Код програми #include <iostream> #include <math.h> using namespace std; void main() { int n = 4, h, w; double det = 1; double max = 0, value = 0; double V[4][4], C[4][4]; double A[4][4] = { { 8.3, 2.64, 4.1, 1.9 }, { 3.92, 8.45, 7.76, 2.46 }, { 3.77, 7.23, 8.04, 2.28 }, { 2.21, 3.63, 1.69, 6.69 } }; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) V[i][j] = A[i][j]; } for (int k = 0; k < n; k++) { //**************************************** //Сортування max = fabs(V[k][k]); h = k; w = k; for (int l = k; l < n; l++) for (int f = k; f < n; f++) { if (max < abs(V[l][f])) { h = l; w = f; } } for (int d = 0; d < n; d++) { value = V[k][d]; V[k][d] = V[h][d]; V[h][d] = value; } for (int d = 0; d < n; d++) { if (d < k) { value = C[d][k]; C[d][k] = C[d][w]; C[d][w] = value; } else { value = V[d][k]; V[d][k] = V[d][w]; V[d][w] = value; } } //**************************************** det = det*pow((-1), w + h)*V[k][k]; for (int i = k + 1; i < n; i++) for (int j = k + 1; j < n; j++) { C[k][j] = V[k][j] / V[k][k]; V[i][j] -= V[i][k] * C[k][j]; } } cout << "\n\t==============================" << endl; cout << "\n\t The determinant is " << det << endl; cout << "\n\t==============================" << endl; getchar(); } Результат роботи програми /
Антиботан аватар за замовчуванням

15.05.2016 19:05-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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