- •Міністерство освіти україни
- •1.1. Відділення корней
- •1.2. Уточнення корней
- •1.2.1. Метод ділення відрізка наполовину
- •1.2.2. Метод Ньютона (доточних)
- •1.2.3. Метод хорд (сікучих)
- •1.2.4. Метод ітеграцій (метод послідовніх приближень)
- •2. Численне рішення систем лінійних алгебраічних рівнянь
- •2.1. Метод Крамера.
- •2.2. Метод Гаусса.
- •2.3 Блок-схема програми для рішення систем лінійних рівнянь методом Гаусса
- •2.4. Метод простій ітерації
- •2.5. Метод Зейделя
- •3. Обробка експериментальних даних
- •3.1. Задачі, які виникають при обробці експериментальних даних
- •3.2. Інтерполіровання
- •3.2.1. Інтерполіровання функцій
- •3.2.2 Зворотне інтерполіровання
- •3.3. Апроксимація
- •3.3.1. Вибір емпирічної формули. Метод вирівнювання
- •2) Розраховуваєм нові перемінні X та y та занесемо їх до табл. 3.1.
- •3.3.2.Визначення параметрів емпирічноі формули
- •3.3.2.1. Метод обраних точок
- •3.3.2.2. Метод середніх
- •3.3.2.3. Метод найменьших квадратів
- •4. Методи чиселього інтегрування
- •4.1. Метод трапецій
- •4.2. Метод Сімпсона
- •4.3. Оцінка точності формул чисельного інтегрування. Вибір кроку інтегрування
- •4.3.1. Вибір кроку інтегрування за оцінкою остаточного члена (помилки)
- •4.3.2. Вибір кроку інтегрування за допомогою подвійного перерахунку
- •5. Методи чисельного інтегрування звичайних діференціальних рівнянь
- •5.1. Одноступінчати методи
- •5.1.1. Рішення за допомогою рядів Тейлора
- •5.1.2 Метод Ейлера
- •5.1.3. Модификований метод Ейлера
- •5.1.4. Метод Ейлера-Коши Мал. 5.3. Метод Ейлера- Коші
- •5.2. Багатоступінчати методи
- •6. Методи рішення лінейної крайової задачи
- •6.1. Постановка задачи
- •6.2. Метод кінцевих різностей
- •6.3. Метод прогонки
- •6.4. Алгоритм рішення крайової задачі методом прогонки
2.3 Блок-схема програми для рішення систем лінійних рівнянь методом Гаусса
Блок-схему програми можна поділити умовно на три частини. Перша – реалізує алгоритм виключення невідомих; друга - оберненой підстановки; третя - визначає найбільший коефіцієнт при Х та перестановці рівняння при необхідності.
У блок-схемі усі множники обозначаються одним та тим же символом m. Якщо обчислювання у програмі вірно організовані, то кожному етапі обчислювань не потребує більш одного множника.
При аналізі блок – схеми треба чітко представити зміст індексів i,j,k.
k – визначає номер того рівняння, яке віднімається з останніх, а також номер того невідомого, яке виключається з останніх n – k рівнянь.
i – означає номер рівняння, з якого у цю мить виключається невідомі.
j– означає номер стовпця.
Мал.2.1.
Блок-схема послідовного виключення
невідомих.
Зворотня підставлення для находження значення невідомих задається наступними формулами:
x N = b N-1N / a N-1NN
xN-1=[ b N-2N-1 - a N-2N-1,N * xN ] / a N-2N-1.N-1
.....................................
xj = [b j-1j - a j-1jn * xn -...- aj-1j,j+1 *xj+1] / a j-1jj
для j = n-2, n-3, ..., 1.
Блок-схема зворотьнього уявлення доведена на мал.2.2. Помітимо, що у блок–схемі (мал.2.1) усі індекси у процесі обчислювання збільшуються, а у блок-схемі (2.2) один з індексів, а саме i, зміньшується.
Розглянемо третью блок-схему перестановки рівняння (2.3) яка входить у блок–схему (2.1). Завдання знаходження найбільшого коефіцієнта при xk та перестановці рівнянь при необхідності зв'язана з зменшенням помилки округлення, яка виникає при обчислюванні з числами з плаваючою комою. По–перше, перестановка може бути потрібна, щоб akk – щоб ухилитися від ділення на 0. А також, використовувая перестановку, можливо зменшення помилки округлення. Спочатку розглянемо числовий приклад. Розв'яжемо систему методом включення підставних:
3.241*102*x1+1.600*102*x2=1.632*102
1.020*104*x1+1.540*103*x2=1.174*104
Точне рішення ціє системи наступне:
x1=1.000*100 ; x2=1.000*100 ;
Мал.2.2.
Блок-схема зворотьнього уявлення
Перший та єдиний множник:
1.020*104
m = --------------- = 3.147*103
3.241*100
Перетворене друге рішення має вигляд:
5.730*10-1*x1-5.020*105*x2 = -5.019*105
Коефіцієнт при х1 повинен був бути = 0, але помилка округлення не дозволяє
отримати точний результат.Так як цей коефіцієнтів нікуди не входе у подальшому обчислюванні,то приймаємо його равним 0 та утворюємо зворотню підстановку:
-5.019*105
x2 = --------------- = 9.998*10-1
-5.020*105
З першого одержуємо : x1 = 9.873*10-1
Мал.2.3.
Блок–схема перестановки рівнянь
головну діагональ:
1.020*104*x1+1.540*103*x2=1.174*104
3.241*100*x1+1.600*102*x2=1.632*102
Зараз множник
3.241*100
m = --------------- = 3.177*10-4
1.020*104
Перетворенне друге рівняння: 0.000*x1+1.595*102*x2=1.595*102
Звідки x2 = 1.000*100 ; x1=1.000*100
У цьому прикладі коефіцієнти дуже відрізняються по величині, але частіше ці різниці не так великі. Однак при рішенні великої системи рівнянь помилки округлення можуть накоплюватися та відповіді можуть не містить ні одної вірної цифри. Тому при рішенні СЛР на ЕОМ методом виключення повинно передбачити можливість перестановки рівнянь.
Отже, завдання зводиться до перестановки n-k+1 останніх рівнянь, так щоб найбільший по модулю коефіцієнт при xk попав на головну діагональ.
Описаний спосіб рішення СЛР називають методом головного елементу.
При розгляденні блок–схеми необхідно пам'ятати, що при переході до даного етапу обчислюваний індекс k має деяке визначене значення, а i = k+1.
1. Спочатку у програму вводиться допоміжний індекс l , якому присвовується значення k.
2. Перше порівняння виробляєтьса між ак,l елементом, який лежить на головній діагоналі, та наступним за ним ai,k. Якщо |ai,k|>|al,k|, то індексу l присвоювають значення i та подальше порівняння виконується з другим елементом.
Тому індекс l являється номером елементу, який з'явився при порівнянні більш других по модулю. Індекс і пробігає по ходу програми значення від k+1 до n включно, та у кінці цього циклу індекс l визначає номер найбільшого по модулю елементу у k-ому стовпці. При перестановці рівняння цей коефіцієнт повинен попасти на головну діагональ.
Може статися так, що значення аі,к вже являється найбільшим по модулю елементом. Тому така можливість відразу перевяється і у тому випадку перестановка не проводиться.
Фактично процес полягає у перестановці коефіцієнтів, один з яких утримується у рівнянні k, а другий - у рівнянні l, яким би не було значення l.
Перестановку можна провести за допомогою трьохступеневого процесу. Цю перестановку необхідно виробити для усіх пар коефіцієнтів двох рівнянь:
DO j=k TO N; TEMP=A(k,j); A(k,j)=A(l,j); A(l,j)=TEMP; END;
Аналогічно для в.
Перед поверненням до основного процесу обчислювань необхідно відновити первісне значення індексу і, який був використован при порівнянні. Так як перед початком процесу індекс і мав значення k+1, то наприкінці блоку йому присвоюєтся попереднє значення i=k+1.