Метод кінцевих різниць.
Так названий метод розв'язання крайових задач, заснований на приб-Ліжень заміні похідних, що входять в диференціальні рівнян-вати і крайові умови, нонечно-різницевими стосунками. Ця заміна дозволяє звести крайову задачу до задачі розв'язання системи алгебраїчних рівнянь.
Кінцеві різниці і проізводние.Пусть деяка функція y (x) задана на відрізку [a, b]. Будемо вважати, що вона неперервна і багаторазово диференціюється-ема на цьому відрізку. Розділимо відрізок на рівні частини довжиною h і позначимо точки поділу x0, x1. xi. xn.Значе-ня функції в цих точках позначимо відповідно y0, y1. yi. yn.Первой центральної різницею в i-й точці (i = 1,2. n-1) називають різницю:
За допомогою цієї різниці можна наближено обчислити значення першої похідної у` в i-й точці.
Розкладемо функцію y (x) в статечної ряд. прийнявши за центр розкладання точку xi і обмежившись чотирма членами:
Аналогічно знайдемо значення ф-ції і в точці
,віддаленої від центру розкладання на крок (-h):
Таким чином, похідна y` прібліжонно замінюється кінцево-різницевим відношенням з помилкою порядку h * h:
Другою центральною різницею ф-ції y (x) в i-й точці називають величину:
За допомогою цієї різниці можна прібліжонно обчислити значення другої похідної y`` в i-й точке.Іспользуем тепер 5 членів розкладання в ряд Тейлора:
Таким чином, друга похідна y`` з помилкою порядку h * h може бути прібліжонно замінена кінцево-різницевим відношенням:
При визначенні різниць в i -й точці використовувалися значення функції в точках, розташованих симетрично щодо xi. Тому ці різниці називаються вають центральними.
Існують також ліві та праві різниці, що використовують точки, розташовані відповідно лівіше і правіше точки xi. За допомогою цих різниць можна також наближено обчислювати значення похідних, але похибка при цьому буде більше -порядка h.
Різницеві системи рівнянь складаються в наступному порядку.
1. Початкове диференціальне рівняння перетворять до той-який формі, щоб потім отримати з нього найбільш просту разностную систему рівнянь. При цьому враховують, що коефіцієнтом-ти при похідних увійдуть в разностную схему одночасно в кілька її членів і потім будуть поширені на всю систе-му рівнянь. Тому бажано мати поодинокі коефіцієнти при похідних в вихідному рівнянні.
2. На інтервалі інтегрування вихідного рівняння уста-новлюють рівномірну сітку з кроком h і записують разностную схему, наближено замінюючи похідні відповідними цент-ральних кінцево-різницевими стосунками.
3.Пріменяя разностную схему для вузлів сітки записують різницеві рівняння. При цьому можна отримати рівняння містять так звані внеконтурние невідомі, тобто невідомі в точках, що лежать за межами встановленої сет-ки.
4.У разностной формі записують крайові умови і склад-ляють повну систему різницевих рівнянь.
Оцінка похибки розв'язку крайової задачі
Рішення разностной системи рівнянь дає наближене рішення крайової задачі. Тому виникає питання про точність цього наближеного рішення.
Для лінійних крайових задач доведено теорему про те, що по-рядок точності рішення крайової задачі не нижче порядку точності апроксимації похідних кінцево-різницевими стосунками. Оцінку похибки виробляють при-емом Рунге. Крайову задачу вирішують двічі: з кроком сітки h і з кроком сітки H = kh, похибка рішення з малим кроком h оцінюють за формулою:
де y (h) і y (H) - рішення, отримані для однієї і тієї ж точ-ки -xi відрізка інтегрування з різними кроками. Відносну похибку E оцінюють за формулою:
Якщо при складанні разностной системи рівнянь викорис-ся ліві чи праві різниці, то похибка рішення буде вище, порядку 0 (h), і для її оцінки в формулах слід замінити k * k на k.
Застосування методу кінцевих різниць для розв'язання рівнянь в приватних проіеводних
Для застосування різницевого методу в області зміни не-залежних змінних вводять деяку сітку. Всі похідні, що входять в рівняння і крайові умови, замінюють різницями значень функції у вузлах сітки і отримують таким чином алгебраіческуго систему рівнянь. Вирішуючи цю систему, знаходять приб-Ліжень рішення задачі в вузлах сітки.
c ПІДПРОГРАМА СКЛАДАННЯ СИСТЕМИ РІВНЯНЬ
c методом кінцевих різниць
c real H-крок по осі X
c real K-крок по осі Y
c real N-кількість рівнянь (приблизну кількість, бажано N = M * P)
c real y (6, N) вихідний масив рівнянь, що містить наступні поля:
c y (1, N)-номер точки по осі X
c y (2, N)-номер точки по осі Y
c y (3, N) -коефіціен рівняння для Q (y (1, N) -1, y (2, N))
c y (4, N) -коефіціен рівняння для Q (y (1, N), y (2, N) -1)
c y (5, N) -коефіціен рівняння для Q (y (1, N) + 1, y (2, N))
c y (6, N) -коефіціен рівняння для Q (y (1, N), y (2, N) +1)
c integer M-число вузлів по осі X
c integer P-число вузлів по осі Y
c real Q (M, P) -Маса значень Y
c integer N-вихідна кількість одержані рівнянь
Невідомі значення у вузлах матриці знаходяться на осі симетрії вираховуються за формулою:
Метод Зейделя відноситься до числа ітераційних методів, в яких принципово відсутній фактор накопичення похибок. Тому він широко застосовується для вирішення великих систем уравне-ний. Будемо розглядати коріння розв'язуваної системи як компоненти деякого вектора у. Основна ідея всіх ітераційних методів полягає в тому, що береться наближене значення вектора у і за формулами, складеними на підставі розв'язуваних рівнянь, обчислюва-ляется нове наближене значення вектора у. Назвемо ці при-наближенні значення y (k) і y (k + 1) відповідно. Оскільки ис-вихідне наближення вибиралося довільно, то у (k + 1) в свою чергу може послужити вихідним для отримання за тими ж формулами нового наближення y (k + 2). Очевидно, цей процес можна продовжувати як завгодно довго. Кажуть, що процес ітерацій сходиться, якщо отримується при цьому послідовність векторів у (k) (к = 0,1,2.> Має своїм межею вектор y, що є точним рішенням системи:
На практиці неможливо досягти цієї межі, але можна прибл-зіться н нього з будь-якої наперед заданою точністю. Так і надходять задаються деякою погрішністю, вектором початкового наближення і отримують послідовні наближення до тих пір, поки дей-ствительность похибка коренів не стане менше заданої.
Різні методи відрізняються один від одного способом обчислення чергового наближення, але у всіх методах існують дві головні проблеми:
забезпечення збіжності процесу ітерацій;
оцінка досягнутої похибки.
Нехай дана лінійна система
Припускаючи, що діагональні коефіцієнти
дозволимо перше рівняння щодо y1. друге - відносите-льно y2 і т.д.
Тоді отримаємо еквівалентну систему
Таку систему будемо надалі називати наведеної.
Метод Зейделя полягає в наступному. Вибравши вектор началь-ного наближення
підставимо його компоненти в праву частину першого рівняння систе-ми і обчислимо першу компоненту y`1 нового вектора y` (ср). У праву частину другого рівняння підставимо компоненти (y`1, y2, y3. Yn) і обчислимо другу компоненту y`2'нового вектора. У третє рівняння підставимо (y`1, y`2, y3. Yn) і т.д. Очевидно, підстановкою в кожне рівняння ми, дійшовши до останнього рівняння, оновимо всі компоненти вихідного вектора і отримаємо перше наближення до ре-шення
Далі. взявши в якості вихідного вектор у` (ср). виконаємо другу ітерацію і отримаємо y`` (ср). Цей процес будемо продовжувати до до-сягнення заданої ступеня точності.
Оцінка похибки наближень процесу Зейделя
Для оцінки похибки насамперед обчислюють показник швидкості збіжності
Тобто для кожного рядка матриці коефіцієнтів системи
обчислюється сума модулів коефіцієнтів, що лежать правіше головною діагоналі
і сума модулів коефіцієнтів, що лежать лівіше головною діагоналі:
Для кожної i-го рядка (i = 1,2. N) обчислюється ставлення-ня
береться максимальне з цих відносин. Чим менше виявиться
, тим більшою буде швидкість збіжності.
Для процесу Зейделя справедлива наступна оцінка похибкою-ти К-го наближення:
тобто модуль відхилення будь-якого i -го кореня системи в К-м наближенні від точного значення того ж кореня
не більш, ніж помножене на множник
максимальне з при--рощення коренів, отриманих в результаті переходу від (K-1) -го наближення до К-му.
Якщо задатися абсолютної похибкою
і вимагати виконання умови
то виконається і умова
тобто задана ступінь точності на К-й ітерації буде досягнута. На практиці це означає, що після кожної ітерації необхідно ви-ділити той корінь, зміна якого в порівнянні з попереднім значенням виявилося найбільшим за модулем. Модуль збільшення цього кореня необхідно помножити на
і порівняти результат з обраний-ної абсолютною похибкою
Достатні умови збіжності процесу Зейделя
Якщо модулі коефіцієнтів системи задовольняють хоча б одній з умов
то процес Зейделя для відповідної наведеної системи сходить-ся до її єдиного рішення при будь-якому виборі початкового вектсра y (ср) Такі системи називають системами з діагональним переважаючи-ням.
Метод Зейдедя має властивість, що дозволяє забезпечити збіжність процесу для будь-яких систем рівнянь з неособенной матрицею коефіцієнтів.
Якщо обидві частини систем з неособенной матрицею коефіцієнтів А = [aij] помножити зліва на транспоніровнную матриць A * [aij]. то буде отримана нова, рівносильна вихідної система, яка називається нормальною. Процес Зейделя для наведеної системи, отриманої з нормальною, завжди сходиться незалежно від вибору нача льного наближення.
Підпрограма методу Зейделя.
cПОДПРОГРАММА РІШЕННЯ СИСТЕМИ РІВНЯНЬ МЕТОДОМ Зейдель
з integer N-вхідний кількість рівнянь
c real y (6, N) -вхідний масив рівнянь, що містить наступні поля:
c y (1, N)-номер точки по осі X
c y (2, N)-номер точки по осі Y
c y (3, N) -коефіціен рівняння для Q (y (1, N) -1, y (2, N))
c y (4, N) -коефіціен рівняння для Q (y (1, N), y (2, N) -1)
c y (5, N) -коефіціен рівняння для Q (y (1, N) + 1, y (2, N))
c y (6, N) -коефіціен рівняння для Q (y (1, N), y (2, N) +1)
c integer M-число вузлів по осі X
c integer P-число вузлів по осі Y
c real Q (M, P) -вхідний масив початкових значень Y
c real Q (M, P) вихідний масив обчислень значень Y
c real E-похибка обчислень