- •050101 „Комп‘ютерні науки ” та 050103 „ Програмна інженерія ”
- •Передмова
- •Розділ 1. Чисельні методи розв‘язання задач. Похибки чисельного розв‘язку
- •1.1. Основні поняття
- •1.2. Поняття стійкості та коректності задачі
- •1.3. Похибки результату чисельного розв‘язання задачі
- •Контрольні питання
- •2.1. Етап 1: відокремлення коренів
- •2.2. Етап 2: уточнення коренів
- •2.2.1. Метод половинного ділення
- •2.2.2. Метод хорд
- •2.2.3. Метод січних
- •2.2.4. Метод дотичних (Ньютона)
- •2.2.5. Метод простої ітерації
- •Контрольні питання
- •Розділ 3. Прямі та непрямі методи розв’язання систем лінійних алгебраїчних рівнянь. Методи Гауса та lu-розкладу
- •3.1. Основні поняття
- •3.2 Прямі методи розв‘язання систем лінійних алгебраїчних рівнянь
- •3.2.1. Метод Гауса
- •3.2.2. Метод lu-розкладу
- •3.2.3. Зв‘язок методу Гауса з методом lu - розкладу
- •3.3 Непрямі методи розв‘язання систем лінійних алгебраїчних рівнянь
- •3.3.1. Забезпечення збіжності ітераційного процесу
- •3.3.2. Метод простої ітерації та метод Зейделя для розв‘язання систем лінійних алгебраїчних рівнянь
- •3.3.3. Метод релаксації для розв‘язання систем лінійних алгебраїчних рівнянь
- •Контрольні питання
- •Розділ 4. Розв‘язання систем нелінійних рівнянь. Метод Ньютона
- •Контрольні питання
- •Розділ 5. Інтерполяція функцій. Інтерполяційні поліноми Лагранжа. Сплайн-інтерполяція
- •5.1. Кусково-лінійна інтерполяція. Інтерполяційні поліноми вищих порядків. Інтерполяційний поліном Лагранжа
- •5.2. Сплайн-інтерполяція
- •Контрольні питання
- •Розділ 6. Апроксимація експериментальних даних. Метод найменших квадратів. Інтерполяція функцій за допомогою ортогональних поліномів
- •6.1. Апроксимація експериментальних даних. Метод найменших квадратів
- •6.2. Інтерполяція функцій ортогональними поліномами
- •Властивості ортогональних поліномів [5]
- •6.3. Базисні сплайни (в-сплайни)
- •Контрольні питання
- •Додаток а. Короткі теоретичні відомості по програмуванню в інтегрованій системі автоматизації математичних розрахунків MatLab
- •Додаток б. Пакети прикладних програм інтегрованої системи автоматизації математичних розрахунків MatLab
- •Перелік основних програмних продуктів класу matlab.
- •Список літературних джерел
- •Нові версії matlab
3.2 Прямі методи розв‘язання систем лінійних алгебраїчних рівнянь
3.2.1. Метод Гауса
Розглянемо систему лінійних алгебраїчних рівнянь (СЛАР):
(3.3)
в якій матриця коефіцієнтів А = (аij) не вироджена. Метод Гауса полягає у послідовному виключенні невідомих, тобто його суть у перетворенні системи (3.3) в систему з верхньою трикутною матрицею, з якої послідовно (при зворотному розв‘язку, тобто від останнього рівняння до першого) отримують значення всіх невідомих.
Алгоритм послідовного виключення невідомих може бути побудований за різними обчислювальними схемами. Побудуємо його по схемі єдиного ділення.
Перетворимо систему (3.3): припустимо а11 ¹ 0, розділимо всі коефіцієнти першого рівняння на а11. Віднімемо від кожного наступного рівняння системи перше рівняння, що помножене на коефіцієнт при х1. Не змінюючи першого рівняння, зробимо аналогічні перетворення над всіма іншими рівняннями системи. На другому етапі перетворень припустимо а22 ¹ 0, розділимо коефіцієнти другого рівняння на а22. Віднімемо від кожного наступного рівняння системи друге рівняння, що помножене на коефіцієнт при х2. Не змінюючи другого рівняння, зробимо аналогічні перетворення над всіма іншими рівняннями системи. Такі перетворення будемо проводити, поки не отримаємо систему з трикутною матрицею:
(3.4)
Із системи рівнянь (3.4) послідовно знаходимо значення всіх невідомих хn, хn-1,…, х1.
Таким чином процес розв‘язання системи (3.3) за методом Гауса можна розділити на два етапи:
1) перший етап полягає в послідовному виключенні невідомих (приведенні матриці коефіцієнтів А = (аij) до верхньої трикутної матриці). Його називають прямим ходом.
2) другий етап – безпосереднє отримання значень невідомих, як результату розв’язання низки рівнянь однією змінною – називають зворотнім ходом. Таку назву етап отримав, оскільки розв‘язання починають із n-го, тобто останнього рівняння, послідовно проводячи розрахунки з n-1, n-2, n-3…3, 2, 1 рівняннями.
В ході виконання операцій ділення в методі Гауса виникає обчислювальна похибка, яка при збільшенні кількості операцій ( ≥ 40) може значно спотворювати результат.
Для зменшення обчислювальної похибки застосовують перестановки рівнянь у системі в залежності від головного елементу. Головним елементом називають максимальний коефіцієнт рівняння. Сукупність рівнянь в системі потрібно переставити таким чином, щоб на головній діагоналі матриці коефіцієнтів стояли максимальні елементи. Метод Гауса у такій модифікації називається методом Гауса з вибором головного елементу.
3.2.2. Метод lu-розкладу
При розв‘язанні системи лінійних алгебраїчних рівнянь даним методом матрицю коефіцієнтів А розкладають на добуток двох матриць (формула 3.5) нижньої трикутної матриці L, на головній діагоналі якої стоять одиниці, та верхньої трикутної матриці U, елементи головної діагоналі якої не дорівнюють нулю. У матричному вигляді при n = 4 це можна записати таким чином:
(3.5)
Для розкладання матриці коефіцієнтів А на трикутні матриці використаємо метод виключення Гауса. Отримаємо матрицю L з допомогою одиничної матриці. Для цього помножимо зліва матрицю А на одиничну матрицю. Наприклад:
(3.6)
Перший рядок матриці А використовуємо для обнуління елементів першого стовпчика цієї ж матриці. Помножимо перший рядок на –0,5 і віднімемо від другого, помножимо перший рядок на 0,25 і віднімемо від третього рядка. Використані коефіцієнти для перетворень запишемо на місця елементів одиничної матриці, що відповідають індексам обнулених елементів матриці А. В результаті отримаємо:
(3.7)
Другий рядок матриці А використовуємо для обнуління елементів другого стовпчика цієї ж матриці, що знаходяться нижче другого рядка (у матриці, що утворена з одиничної, запишемо використані для обнулення коефіцієнти на місця елементів, що відповідають індексам обнулених елементів матриці А):
(3.8)
В результаті отримаємо LU-розклад матриці А і розв’яжемо систему рівнянь у два етапи:
(3.9)
На першому етапі
знаходимо проміжний вектор Y,
використовуючи пряму підстановку, на
другому етапі знаходимо безпосередньо
вектор розв’язків Х,
застосовуючи зворотну підстановку.
Зокрема, приймаючи у наведеному прикладі
з проміжної системи LY = B
матимемо
.
Здійснюючи другий етап розв‘язання
системи, тобто розв‘язуючи рівняння
UX = Y
, отримаємо
.
