Professional Documents
Culture Documents
3 Лекції
3 Лекції
ЛЕКЦІЇ
_______Чисельні методи_______
(шифр і назва навчальної дисципліни)
напрям підготовки _______050103 «Програмна інженерія»__________________
(шифр і назва напряму підготовки)
спеціальність________5.05010301 «Розробка програного забезпечення»______
(шифр і назва спеціальності)
спеціалізація ______________________________________________________
відділення _денне___________________________________________________
Херсон - 2014рік
Лекції «Чисельні методи» для студентів вищих навчальних закладів І-ІІ рівнів акредитації за
напрямом підготовки 050103 «Програмна інженерія», спеціальністю 5.05010301 «Розробка програмного
забезпечення». «11» листопада 2014 р. – 11 с.
Розробники: Бункус С.В., викладач ЕТТ ХНТУ, кваліфікаційної категорії «Спеціаліст першої
категорії»
«___»___________2014 року
«___»___________2014 року
Голова_____________________ _________________
2
Лекція 1.
Теорія похибок
План лекції:
3
звичайно для розв’язання задач математичного аналізу та містять операції
диференціювання, інтегрування, відшукування відрізків рядів, спрощення.
Чисельно-аналітичні методи використовуються для розв’язання складних
комплексних задачах. При цьому аналітичні методи застосовуються для спрощення
аналітичних виразів, зведення рівняння до заданого канонічного вигляду та ін., а
чисельні методи набувають чинності, коли потрібно отримати результат розв’язання у
вигляді числа, або на етапі розв’язання стандартних обчислювальних підзадач
(наприклад, підпрограма обчислення квадратного кореню, експоненти та ін.).
Графічні та графоаналітичні методи для отримання результатів використовують
графічні представлення функцій.
Історія чисельних методів.
Можна виділити три основні періоди.
Перший почався (3 ÷ 4) тисячі років назад. Він був пов’язаний з веденням
конторських книг, обчисленням площ, об’ємів, розрахунком найпростіших механізмів.
Чисельними засобами служили спочатку власні пальці, а потім – рахівниці. Вхідні дані
містили мало цифр, більшість викладок виконувалось точно, без заокруглень.
Другий почався з Ньютона. В цей період вирішувались задачі астрономії, геодезії,
розрахунку механічних конструкцій. Вони зводились або до алгебраїчних систем з
великим числом невідомих, або до звичайних диференціальних рівнянь. Обчислення
виконувались із заокругленням; часто від результату вимагалась висока точність,
доводилось зберігати до 8 значущих цифр.
Обчислювальні засоби стали різноманітніші: таблиці елементарних функцій, потім
арифмометр і логарифмічна лінійка, пізніше з’явились клавішні машини з
електродвигуном. Але швидкість всіх цих засобів була невелика, обчислення займали
дні, тижні і навіть місяці.
Третій період почався приблизно з 1940р. Військові задачі, наприклад, наводка
зенітних гармат на швидкісний літак – вимагали від людини швидкості і призвели до
розробки електричних систем. З’явились ЕОМ. Їх швидкодія настільки перевищувала
швидкодію механічних засобів, що стало можливим проводити обчислення великого
об’єму. Це дозволило чисельно вирішувати нові класи задач. Спочатку
використовувались чисельні методи, які були розробленні в “доелектронному” періоді.
Але застосування ЕОМ привело до переоцінки методів. Багато старих методів виявилось
непридатними для автоматизованих обчислень. Почали скоро розроблятися нові методи,
орієнтовані прямо на ЕОМ.
Чисельні методи – методи наближеного або точного рішення задач чистої або
прикладної математики, що базуються на побудові скінченної послідовності дій над
скінченою множиною чисел.
При рішенні задач прикладної математики найбільш ефективною вважають таку
методологію. По-перше складають математичну модель. Її формулюють звичайно в
термінах інтегральних і диференціальних рівнянь функцій неперервного аргументу. Це
так звана континуальна математична модель. По-друге здійснюють перехід від
континуальної математичної моделі до дискретної математичної моделі. Цей перехід
полягає в заміні функції неперервного аргументу функціями дискретного аргументу, а
рівняння континуальної математичної моделі – зазвичай різницевими рівняннями. При
цьому інтеграл замінюють кінцевою сумою, а похідну – різницевим відношенням.
Внаслідок цього приходять, як правило, до системи з великою кількістю рівнянь з
4
багатьма невідомими (дискретна математична модель). По-третє складають
обчислювальний алгоритм (ОА) для рішення одержаної системи рівнянь з деякою
певною точністю. По-четверте здійснюють програмування.
Перехід від континуальної до дискретної математичної моделі приводить до появи
похибки апроксимації. При практичних розрахунках необхідно враховувати і похибку
заокруглення внаслідок обмеженої кількості значущих цифр при операціях в ЕОМ над
машинними числами. Враховуючи це одержують реальний ОА. Це привело до
необхідності проводити аналіз похибок і гарантовану оцінку точності реальних
обчислень.
Особливe значення при цьому отримав аналіз стійкості ОА. Мається на увазі аналіз
критеріїв і умов росту похибок заокруглення і апроксимації. В багатьох обчислювальних
алгоритмах, розроблених до появи ЕОМ, враховувались тільки похибки апроксимації, а
похибки заокруглення не бралися до уваги, внаслідок чого ці ОА часто виявлялись
нестійкими.
Практичний інтерес представляють лише ті наближені алгоритми, які володіють
властивістю збіжності. Алгоритм збіжний, якщо існують параметри, належний вибір
яких (при умові точного завдання вхідних даних і точного виконання елементарних
операцій) дозволяє зробити похибку δ як завгодно малою для вхідних функцій із
заданого класу.
Система параметрів називається мінімальною для наближеного аргументу, якщо
відмова від будь-якої з них порушує властивість збіжності.
Стійкість означає, що малі зміни вхідних даних приводять до малих змін результату.
Похибки по різному впливають на хід обчислення. Одні похибки зменшуються і при
цьому не складають серйозних труднощів, а другі можуть зростати настільки сильно, що
обчислення може виявитися непотрібним. Стійкість чисельного методу залежить від
швидкості росту таких похибок. Чи будуть малі вихідні похибки породжувати невеликі
похибки результатів? Якщо так, то метод стійкий; однак якщо навіть малі вихідні
похибки надають згубну дію на результат, то метод виявляється нестійким.
Математичні моделі і чисельні методи
Відомо, що сучасних інженерів, дослідників в області електронної техніки,
автоматики і т.д. математика цікавить перш за все як засіб розв’язування практичних
задач, котрі виникають в даній області. Наприклад, потрібно побудувати систему
автоматичного регулювання або якусь аналогову, цифрову схему. Одним із методів
розв’язування є експеримент надто повільний і, як правило, дорогий метод. Приклад із
своєї області – (BRM, RD). Як побачимо далі, експеримент використовують з метою
перевірки математичної моделі.
Другий метод – математичний аналіз даної схеми або пристрою. Але такий метод
застосовується не до реальних явищ, а до деяких математичних моделей цих явищ. Тому,
перший етап роботи – це формування математичної моделі (постановка задачі).
Звичайно явища, що вивчаються, як правило, складні. Математична модель повинна
охоплювати важливі сторони явища (для даної задачі). Якщо математична модель
вибрана недостатньо ретельно, то, незалежно від застосовуваних методів розрахунку, всі
результати будуть недостатньо надійними, а в деяких випадках можуть бути і
неправильними.
Другий етап роботи – математичні дослідження. В залежності від складності моделі
застосовуються різні математичні підходи. Для найбільш грубих і нескладних моделей
5
часто вдається отримати аналітичний розв’язок. Для більш точних і складних моделей
аналітичний розв’язок вдається отримати порівняно рідко. Наcамкінець, для найбільш
важких і точних моделей основним методом роз’язку є чисельні, як правило, вони
потребують розрахунку на ЕОМ.
Третій етап роботи – це осмислення математичного розв’язку і співставлення його з
експериментальними даними. Якщо розрахунок і експеримент не узгоджуються, то
модель необхідно переглянути і уточнити.
Чисельні методи є одними із потужних засобів розв’язування задач. Є задачі, де без
достатньо складних чисельних методів не вдалося одержати відповіді; класичний
приклад – відкриття Нептуна по аномаліях руху Урана. Часто потрібно велике число дій
за короткий час, інакше відповідь буде непотрібна. Наприклад, добовий прогноз погоди
повинен бути вирахуваний за декілька годин; корекцію траєкторії польоту ракети
потрібно розрахувати за декілька хвилин (а іноді і секунд); режим роботи прокатного
стана повинен коригуватися за секунду. Це є неможливим без застосування потужних
ЕОМ.
Сучасні чисельні методи і потужні ЕОМ дали можливості вирішувати багато
складних задач. Але застосовувати чисельні методи непросто. ЕОМ – це засіб праці
сучасного інженера, яка може виконувати тільки елементарні арифметичні і логічні
операції. Тому під час розробки автоматичної моделі, потрібна ще розробка алгоритму,
який зводить всі обчислення до послідовності алгоритмічних і логічних дій. Сам
алгоритм і програма повинні бути ретельно пеоревірені, про це свідчить навіть відомий
вислів: “в будь-якій найменшій програмі є хоч одна помилка ”. Перевірка алгоритму є ще
складнішою, бо для складних алгоритмів не часто вдається доказати збіжність
класичними методами.
Розділ математики, який має справу із створенням і впровадженням чисельних
алгоритмів для розв’язування складних задач різноманітних сфер науки, часто називають
прикладною математикою.
Головна задача прикладної математики – фактичне знаходження розв’язку з
необхідною точністю; цим вона відрізняється від класичної математики, яка основну
увагу приділяє дослідженню умов існування і властивостей розв’язку.
Теоретично дослідження в сфері чисельних методів в основному групуються
навколо типових математичних задач: задачі аналізу (наближення функцій, наближені
диференціювання і інтегрування), задачі алгебри, розв’язування диференціальних і
інтегральних рівнянь, задачі оптимізації і т.д.
Джерела і класифікація похибок.
Похибки обчислень зумовлені наступними причинами:
1) Математичний опис задачі являється неточним, зокрема неточно задані початкові
дані опису.
2) Вживаний для розв’язку метод часто не є точним; одержання точного розв’язку
вимагає необмеженого або недопустимо великого числа арифметичних операцій, тому
замість одержання точного розв’язку задачі користуються наближеним розв’язком.
3) При вводі даних в машину, при виконанні арифметичних операцій і при виводі
даних виконуються округлення.
Похибки, що відповідають цим причинам, називають:
1) неусувна похибка;
2) похибка методу;
6
3) обчислювальна похибка.
Загальний цикл розв’язання прикладних задач має вигляд, наведений на рис. 1:
Технічне завдання
Математична модель
Обчислювальні методи
Комп’ютерна реалізація
Програма
Алгоритм
d1
d2
d3
Рис. 2.
Або враховуватися може неідеальна ВАХ, але не враховуватися вплив інших
параметрів (температура, тиск) на роботу приладу.
Можлива ситуація, коли розв’язати задачу у точній її постановці виявляється
неможливим. Тоді задачу замінюють близькою, але наближеною задачу. При цьому
виникає похибка , яку називають похибкою чисельного методу.
Похибка – це похибка обчислень. До похибок обчислень відносяться:
1) похибки, пов’язані з наявністю нескінченних процесів обчислення у
математичному аналізі. Наприклад, деякі функції задаються у вигляді нескінченних рядів
7
послідовності математичних дій на певному етапі, що викликає появу похибки
обчислень;
2) похибки, пов’язані з наявністю у математичних формулах чисельних параметрів,
значення яких можуть бути визначені лише наближено. Такими параметрами є, зокрема,
всі фізичні константи (наприклад, точність представлення числа ). Такі похибки
називають початковими;
9
4) якщо перша з відкинутих цифр дорівнює 5-ти, та серед решти
відкинутих цифр є нульові, то остання залишена цифра зберігається незмінною,
якщо вона парна і збільшується на одиницю, якщо вона непарна (правило парної
цифри).
Значущі цифри. Число вірних знаків.
При записі наближених чисел часто використовують поняття вірної та сумнівної
цифри.
Цифра називається вірною, якщо межа абсолютної похибки даного наближення не
перевищує одиниці того розряду, в якому записана ця цифра.
В іншому випадку цифра називається сумнівною.
Значущими цифрами наближеного числа а називають всі цифри в його десятковому
наближенні, відмінні від нуля, та нулі, якщо вони стоять між іншими значущими
цифрами або розміщенні в кінці числа і вказують на точність. Однак точність
наближеного числа залежить не від того, скільки в цьому числі значущих цифр, а від
того, скільки значущих цифр заслуговує довір’я (тобто, скільки вірних значущих цифр).
Всяке додатне число а може бути представлене у вигляді розкладу
a K 1 10 m K 2 10 m 1 ... K n 10 m n 1
де К1, К2, … , Кn – десяткові знаки числа а. При цьому обов’язково К1 ≠ 0, К2, … ,
Кn можуть приймати значення від 0 до 9.
Певне число а має n точних десяткових знаків, якщо його абсолютна похибка не
перевищує одиниці n-го десяткового знаку або половину цієї одиниці у випадку
заокруглення за доповненням, тобто
10 m n 1 у широкому розумінні,
1 m n1
10 у вузькому розумінні
2
Зв’язок абсолютної похибки з числом вірних значущих цифр.
Між кількістю вірних десяткових знаків і відносною похибкою числа а існує зв’язок,
який можна виразити за допомогою теорем:
Теорема 1.
Якщо додатнє число а має n десяткових знаків, то відносна похибка δ цього числа не
n 1
1
перевищує , яка ділиться на першу значущу цифру даного числа, тобто
10
n 1
1 1 1 1
δ n 1
K1 10 K1 10
Тоді за визначенням
Δ = │А – а│≤ 10m–n+1
n 1
10 m n1 10 m n1 1 1
δ m 1 m n 1
a K1 10 K 2 10 ... K n 10
m
K1 10 m
K1 10
Теорема 2.
1
Якщо δa , то а має n вірних десяткових знаків
10 n
1 K1 10 m K 2 10 m 1 ... K n 10 m n 1 10 m1
δa n ; звідси 10 m n 1 ;
a 10 10 n
10 n
10
Похибка суми.
Теорема 1.
Абсолютна похибка алгебраїчної суми декількох наближених чисел не перевищує
суми абсолютних похибок цих чисел.
u x1 x2
u u
u x1 x 2 x1 x2 (1)
x1 x2
u x1 x2 x3 ... xn
Гранична абсолютна похибка суми дорівнює сумі граничних абсолютних похибок
доданків
u x1 x2 ... xn (2)
Із формули (2) випливає, що гранична абсолютна похибка суми не може бути
меншою граничної абсолютної похибки найбільш точного із доданків, тобто доданка,
який має максимальну похибку. З якою б точністю не було визначено решта доданків, ми
не можемо за їх рахунок збільшити точність суми. Тому не слід зберігати надлишкові
знаки і в більш точних доданків.
Практичне правило для додавання наближених чисел. Щоб додати числа різної
абсолютної точності необхідно:
1) Виділити числа, десятковий запис яких обривається раніше інших,
(тобто числа, що мають найменшу абсолютну точність), і залишити їх без змін;
2) Числа, які залишилися, необхідно заокруглити по взірцю виділених,
зберігаючи один або два запасних десяткових знаки;
3) Додати дані числа, враховуючи всі збережені знаки;
4) Одержаний результат заокруглити на один знак.
Теорема 2.
Якщо доданки мають однаковий знак, то гранична відносна похибка їх суми не
перевищує найбільшої із граничних відносних похибок доданків.
Нехай 1 u x x ... x
2 n , причому приймаємо, що х > 0 (i = 1, 2, …, n).
і
Гранична відносна похибка
n
ln u
δu xi
i 1 xi
;
u x1 x 2 ... x n x1 δ x1 x 2 δ x2 ... x n δ xn
δu ;
u x1 x 2 ... x n x1 x 2 ... x n
δ xi xi δ
Нехай найбільша із граничних відносних похибок доданків , тобто < .
Тоді
δ ( x1 x2 ... xn )
δu δ;
x1 x2 ... xn
Отже
u , тобто u max( x1 , x2 ,..., xn ) .
Похибка різниці.
Розглянемо різницю двох наближених чисел
u x1 x2
11
За формулою для граничної абсолютної похибки алгебраїчної суми одержимо
u x1 x2 ,
тобто абсолютна похибка різниці оцінюється так само, як і для суми.
Гранична абсолютна похибка різниці дорівнює сумі граничних абсолютних похибок
зменшуваного і від’ємника.
Звідси гранична відносна похибка різниці:
x1 x2
δu (1)
x1 x2
Якщо наближені числа х1 і х2 достатньо близькі один до одного, то різниця мала. З
формули (1) випливає, що гранична відносна похибка в цьому випадку може бути досить
великою, в той час коли відносна похибка зменшуваного і від’ємника залишається
малою, тобто тут відбувається втрата точності. Звідси випливає практичне правило: при
наближених обчисленнях слід по можливості уникати віднімання двох рівних близьких
чисел; якщо в силу необхідності доводиться віднімати такі числа, то слід зменшуване і
від’ємник брати з достатнім числом запасних знаків (якщо існує така можливість).
Наприклад, якщо відомо, що при відніманні чисел х1 і х2 перші m значущих цифр
зникнуть, то слід брати х1 і х2 з (m + n) вірними значущими цифрами.
u 2,01 2
Приклад. Знайти різницю з трьома правильними знаками.
2,01 1,41774469
Оскільки 2 1,41421356 ,
то результат u = 0,00353 = 3,53∙10– 3.
Цей результат можна отримати, якщо записати u у такому вигляді (перетворимо
вираз, щоб уникнути віднімання двох близьких чисел)
( 2,01 2 )( 2,01 2 ) 0,01
u
2,01 2 2,01 2
і взяти корені лише з трьома правильними знаками
0,01 0,01
u 3,53 10 3
1,42 1,41 2,83 .
Похибка добутку.
Теорема.
Відносна похибка добутку декількох наближених чисел, відмінних від нуля, не
перевищує суми відносних похибок цих чисел. Нехай
u x1 x2 ... xn
n
δu ln u xi
i 1 xi
x1 x 2 x n
δu ...
x1 x2 xn
xi xi
покладемо , одержимо δ ≤ δ1 + δ2 +…+ δn .
xi Ai
Формула правильна, якщо співмножники мають однакові або різницеві знаки.
Наприклад, u = x1 · x2
12
ln u = ln x1 + ln x2 ,
ln u ln u 1 1
δ x1 x 2 x1 x2 δx1 δx 2
x1 x2 x1 x2
Наслідок. Гранична відносна похибка добутку дорівнює сумі граничних відносних
похибок співмножників, тобто
u x1 x2 ... xn
Розглянемо частковий випадок
u = k · x , де k – точний множник, відмінний від нуля.
u x
u k x
тобто при множенні наближеного числа на точний множник k відносна гранична
похибка не змінюється, а абсолютна гранична похибка збільшується в │ k │ разів.
Правило: щоб знайти добуток декількох наближених чисел з різним числом
правильних значущих цифр достатньо:
1) заокруглити їх так, щоб кожне з них мало на одну (або дві) значущих цифри
більшу, ніж число правильних цифр в найбільш точному із співмножників;
2) в результаті множення зберегти стільки значущих цифр, скільки правильних
цифр є в найбільш точному із співмножників (або утримати ще одну запасну цифру).
Похибка частки
Теорема:
Відносна похибка частки не перевищує суми відносних похибок діленого і дільника.
x1
n
u .
x 2 Тоді на основі
δu
i 1 x
ln u xi
Нехай i
одержимо
x x
δu 1 2
x1 x2
.
x
Наслідок. Якщо u x , то u x x
1
1 2
2
13
Задачі до самостійної роботи
1. Визначити граничні абсолютні похибки наближених чисел а=96,387 і в=9,32,
якщо вони містять тільки вірні цифри в вузькому та широкому понятті розуміння
відповідно.
2. Яка гранична відносна похибка наближеного числа а=14,278 якщо вона містить
тільки вірні цифри в широкому понятті розуміння.
3. Визначити значення функції y=cos(x) для наступних значень аргументу:
4. x=80;x=1.
5. Порахувати граничні абсолютну та відносну похибки результату.
6. Знайти добуток наближених чисел та , всі цифри яких вірні.
7. Виконати послідовні округлення наступних чисел: а) 2,75464; б) 3,14159; в)
0,56453; г) 4,1945; д) 0,60653.
8. Округляючи наступні числа до трьох значущих цифр, визначити абсолютну і
відносну (у відсотках) похибки отриманих наближень: а) 1,1426; б) 0,01015; в) 0,1245;
г) 921,55; д) 0,002462.
9. Визначити абсолютну похибку наступних наближених чисел по їх відносній
похибці : а) x = 2,52; = 0,7%; б) x=0,986; = 10%; в) х= 46,72; = 1%; г) x = 199,1; =
0,01; д) х = 0,86341; = 0,0004.
10. Визначити кількість вірних значущих цифр у вузькому і широкому змісті для
наступних наближених чисел: а) 39,285 ± 0,034; 6) 1,2785 ± 0,0007]; в) 183,3 ±0,1; г) 0,056
± 0,0003; д) 84,17 ± 0,0073.
11. Визначити, яке з рівностей точніше: а) 6/25 1/4 чи 1/3 0,333; б) 1/9 0,1 чи 1/3
0,33; в) 15/7 2,14 чи 1/9 0,11; г) 6/7 0,86 чи 22/7; д) = 3,142 чи .
Вказівка. Попередньо знайти граничні відносні похибки. Більш точним є та рівність,
гранична відносна похибка якої менше.
12. Округлити сумнівні цифри числа а = 47,453 ± 0,024, залишивши в ньому вірні
знаки у вузькому змісті.
13. Округлити сумнівні цифри числа а = 46,3852 ± 0,0031, залишивши в ньому вірні
знаки в широкому змісті.
14. Округлити сумнівні цифри наближеного числа а == 3,2873, якщо = 0,1%,
залишивши в ньому вірні знаки в широкому змісті.
15. Знайти граничні абсолютні і відносні похибки наближених чисел, якщо вони
мають тільки вірні цифри: а) а = 0,7538 (у вузькому змісті); б) а = 17,354 (у широкому
змісті).
Вказівка. Використовувати формулу (1.34) п. 1.6 [2].
Питання для самоконтролю
1. Назвати джерела отримання наближених чисел.
2. Дати означення абсолютної похибки наближення.
3. Яке число можна взяти за межу абсолютної похибки?
4. Сформулювати правило заокруглення чисел.
5. Дати означення відносної похибки наближення.
6. Яке число можна взяти за межу відносної похибки?
7. Які цифри числа називаються значущими?
8. Як визначають вірні цифри наближеного числа?
9. Сформулювати правила дій над наближеними числами.
14
Лекція 2
Точні методи розв’язання СЛР
План лекції:
1. Основін поняття та визначення.
2. Класифікація методів розв’язання СЛАР на ЕОМ
3. Особливості методів Гауса
16
2.3 Особливості методів Гауса
Найбільш відомим з точних методів розв’язання системи лінійних алгебраїчних
рівнянь (2.1) є методи Гауса, суть яких полягає в тому, що система рівнянь, яка
розв’язується, зводиться до еквівалентної системи з верхньою трикутною матрицею.
Невідомі знаходяться послідовними підстановками, починаючи з останнього рівняння
перетвореної системи. Алгоритми Гауса складаються із виконання однотипних операцій,
які легко формалізуються. Однак, точність результату й витрачений на його отримання
час у більшості випадків залежить від алгоритму формування трикутної матриці системи.
У загальному випадку алгоритми Гауса складаються з двох етапів:
Прямий хід, в результаті якого СЛАР(2.1), що розв‘язується, перетворюється в
еквівалентну систему з верхньою трикутною матрицею коефіцієнтів виду:
a11 x1 a12 x 2 ... a1n xn b1
0 x1 a 22 x 2 ... a 2 n x n b2 (2.2)
0 x 0 x2 ... a nn x n bn
1
Зворотній хід дозволяє визначити вектор розв‘язку починаючи з останнього
рівняння системи (2.2) шляхом підстановки координат вектора невідомих, отриманих на
попередньому кроці.
Відомо декілька різних алгоритмів отримання еквівалентної системи з верхньою
трикутною матрицею. Розглянемо найбільш відомі з них.
(2.3)
1) Перевіримо, щоб принаймні один із коефіцієнтів a11 , a21 , a31
не дорівнював
нулю. Якщо, наприклад, 11
a 0 , тоді необхідно переставити рівняння так, щоб коефіцієнт
при x1 у першому рівнянні не дорівнював нулю.
2) Обчислюється множник:
a 21
M2 . (2.4)
a11
3) Перше рівняння системи (2.3) множиться на M 2 і віднімається від другого
рівняння системи, отриманої після перестановки рівнянь, якщо вона була необхідною.
Результат обчислення має вигляд:
( a 21 M 2 a11 ) x1 ( a 22 M 2 a12 ) x 2 (a 23 M 2 a13 ) x3 b2 M 2 b1 ,
(2.5)
a
але a 21 M 2 a11 a 21 21 a11 0 .
a11
17
(2.6)
Тоді x1 виключається із другого рівняння.
Позначимо нові коефіцієнти:
Далі необхідно звільнитися від коефіцієнта a31 при x1 в третьому рівнянні системи
(2.3) за аналогічним алгоритмом
4) Обчислюється множник для третього рівняння:
a31
M3 . (2.9)
a11
5) Перше рівняння системи (2.3) множиться на M 3 і віднімається від третього
рівняння. Коефіцієнт при x1 стає нулем, і третє рівняння набуває вигляду:
(2.14)
(2.21)
Таку систему називають системою з трикутною матрицею коефіцієнтів, що
еквівалентна СЛАР (2.3). Процес знаходження такої системи називається прямим ходом
Гауса. Знайти розв’язок такої системи просто: із 3-го рівняння знайти x3 , підставити
результат у друге і знайти x2 , підставити x2 і x3 в 1-е рівняння системи (2.21) і знайти
x1 за формулами:
b' ' 3
x3 , (2.22)
a' '33
b' a ' 23 x3
x2 2 , (2.23)
a ' 22
b a12 x 2 a13 x3
x1 1 . (2.24)
a11
Процес знаходження вектора розв’язку системи (2.3) називають зворотнім ходом
метода Гауса.
На рисунку 2.2 показана схема алгоритму метода Гауса з послідовним
виключенням для розв’язання системи із N рівнянь з N невідомими.
Початок
Введення
N, A, B
k=1, N-1
i=k+1, N
Перестановка
рівнянь
M = Aik / A kk
j=k, N
Обчислювання
Aij
Обчислювання
Bi
Обчислювання
Xn
j=N-1,1,-1
S=0
j=i+1, N
S=S + A i j X i
Обчислювання
Xi
Вивід
Х
Кінець
19
Ця схема відповідає розглянутому алгоритму і може бути використана при
розробці програми. Блок “Перестановка рівнянь так, щоб a nn 0 ” означає деякий
алгоритм, який дає змогу не допустити помилки “ділення на 0”. Якщо прямувати до
можливого зменшення помилок округлення, то можна використати алгоритм з
вибиранням головного елементу.
20
a 31 (c31 d1i c 32 d 2i )
d 31 , (2.32)
c33
елемент у3
b3 (c31 y1 c32 y 2 )
y3 , (2.33)
c33
і т.д.
Початок
Введення
N, A, B
Обчислення
сі1, di1, dii=1
i=2, N
k=і, N
Обчислювання
сki
0
k<i+1
1
Обчислювання
Dik
Обчислювання
Yi
Xn=Yn
i=1, N-1
S=0
Обчилювання
Xn-1
Вивід
Х
Кінець
Введення
N, A, B
k=1, N-1
AMAX=|Akj|
i=k+1, N
0
A ij > AMAX
1
A ij = AMAX=, 1=i
A ij > AMAX
0
1
Перестановка
рівнянь
j=k, N
A kj = A kj / A kk
A kk = 0, B=B k / A kk
i=k+1, N
M= A ik
j=k, N
A ij = A i j - MA kj
B i =B i - MB k
X n =B n / A nn
i=N-1,1, -1
S=0
j=k,N
S=S + A ij X i
Обчислювання
X i =(B i -S)/A i i
Вивід
Х
Кінець
22
Рисунок 2.4. – Схема алгоритму метода Гауса з вибором головного елемента
23
Початок
Введення
N, A, B
k=1, N-1
AMAX=A ij
i=k+1, N
0
A i j > AMAX
1
A i j = AMAX, 1=i
0
1 <> k
1
Перестановка
рівнянь
j=k, N
A kj = A kj / A kk
A k k = 0, B=B k / A k k
i=k+1, N
M = A ik
j=k, N
A i j = A i j - MA k j
B i =B i - MB k
X n =B n / A nn
i=N-1,1, -1
S=0
j=k,N
S=S + A i j X i
Обчислювання
X i =(B i -S)/A i i
Вивід
Х
Кінець
1* x1 0 * x 2 ... 0 * x n b1
0 * x 1* x ... 0 * x b
1 2 n 2
.....................................................
,
0 * x1 0 * x 2 ... 1 * x n bn
(2.41)
25
Початок
Введення
N, A, B
k=1, N-1
AMAX=A KK , 1=k
i=k+1, N
0
A i j > AMAX
1
A i j = AMAX, 1=i
0
1 <> k
1
Перестановка
рівнянь
j=k, N
A kj = A kj / A kk
Нормування рівнянь
i=k+1, N
0
і≠k
M = A ik
j=k, N
A i j = A i j - MA k j
B i =B i - MB k
j=1,N
X i =B i
Вивід
Х
Кінець
Лекція 3.
Метод ітерації, Зейделя для СЛР.
План лекції:
27
Розглянемо застосування методу простої ітерації для знаходження коренів системи
лінійних алгебраїчних рівнянь (2.1) п-го порядку з п невідомими
Спочатку систему (2.1) зводимо до нормального виду. Для цього, припускаючи, що
діагональні елементи не дорівнюють нулю, тобто аіі 0 і 1,2,...,n , виразимо x1 з
першого рівняння системи, x 2 - з другого і так далі. В результаті отримаємо систему,
еквівалентну системі (2.1):
b a12 a13 a1 n
x1 1
x2 x3 .. . x
a11 a11 a11 a11
b2 a 21 a 23 a2 n
x2 x x3 .. . x
a 22 a 22 a 22 a 22
.. .. ... .... ... ... .... ... .. ... .... ... ... .... ... ... ..
bn a1 n a2 n a n 1
xn x1 x2 .. .
ann a nn a nn a nn
(2.5)
b a
Позначивши a і i ; a ij , де i 1,2 ,..., n; j 1,2 ,...,n ,
ij
перепишемо систему (2.5)
ii ii
наступним чином:
x1
x
1
1 2 x 2
x1
1 3 x3
x3
1n
x n
x n
2 2 2 1 2 3 2 n
. ... ... ... ... ... ... .. ... ... ...... ... ... .. ... ... ...... ..
x n n n1 x1 n 2 x 2 n ,n 1
(2.6)
Представлення системи лінійних рівнянь у вигляді (2.6) називається нормальним.
Вводимо позначення
11 12 ... 1n 1
22 ... 2 n
21 , 2,
... ... ... ...
n1 n2 ... nn n
і запишемо систему (2.6) в матричній формі: X X
або
x1 1 11 12 ... 1n x1
x2 2 21 22 ... 2 n x2
... ...
... ...
(2.7)
xn n n1 n 2 ... nn xn
(1) ( 0 )
x ...
n n n1 n2 nn x n
28
x1( 2 ) 1 11 12 ... 1n x1(1)
( 2)
x2 2 21 22 ... 2 n x2(1)
... ...
... ...
- друге наближення
( 2)
x ... nn xn(1)
n n n1 n2
і так далі.
Будь-яке ( k 1 ) -е наближення знаходимо за формулою:
X ( k 1 ) X ( k ) , ( k 0 ,1,...,n ) .
Ітераційний процес триває доти, доки всі значення xi не стануть близькими до
(k )
2. A A , де - дісне число
3. A B A B ;
i
3
ij
j 1 j i,j
i 1
Має місце таке твердження. Ітераційний процес збігається до єдиного розв’язку при
будь-якому виборі початкового наближення, якщо яка-небудь з норм матриці менша
за одиницю.
Приклад. Методом простої ітерацій розв’язати систему з точністю 0,01 :
8 x1 x2 x3 26,
x1 5x2 x3 7,
x x2 5 x3 7.
1
Неважко переконатись, 3
i, j
ij
0,19125 1 , тобто ітераційний процес буде
збігатись незалежно від вибору початкового наближення.
2) Побудуємо послідовні наближення.
Нульове наближення:
29
x1 0 3,25
x 0 x2 0 1,4 .
x 0 1,4
3
Перше наближення:
x1 1 3,25 0 0,125 0,125 3,25 2,9
1
x2 1,4 0,2 0 0,2 1,4 1,03 .
x 1 1,4 0,2 0,2 0 1,4 1,03
3
При цьому абсолютне відхилення дорівнює:
max x1(1) x1( 0 ) , x2(1) x2( 0 ) , x3(1) x3( 0 ) max 0,35;0,37;0,37 0,37 0,01
Друге наближення:
x1 2 3,25 0 0,125 0,125 2,9 2,992
2
x2 1,4 0,2 0 0,2 1,03 1,026 .
x 2 1,4 0,2 0,2 0 1,03 1,026
3
При цьому абсолютне відхилення дорівнює:
max x1( 2 ) x1(1) , x2( 2 ) x2(1) , x3( 2 ) x3(1) max 0,092;0,004;0,004 0,092 0,01
Трете наближення:
x1 3 3,25 0 0,125 0,125 2,992 2,9935
3
x2 1,4 0,2 0 0,2 1,026 1,0068 .
x 3 1,4 0,2 0,2 0 1,026 1,0068
3
При цьому абсолютне відхилення дорівнює:
max x1( 3) x1( 2 ) , x2( 3) x2( 2 ) , x3( 3) x3( 2 ) max 0,0015;0,0192;0,0192 0,0192 0,01 Четверте
наближення:
x1 4 3,25 0 0,125 0,125 2,935 2,9983
4
x2 1,4 0,2 0 0,2 1,0068 1,00266.
x 4 1,4 0,2 0,2 0 1,0068 1,00266
3
При цьому абсолютне відхилення дорівнює:
max x1( 4 ) x1( 3) , x2( 4 ) x2( 3) , x3( 4 ) x3( 3) max 0,0048;0,00414;0,00414 0,0048 0,01На
цьому процес ітерації закінчено.
Таким чином, x1 2,9983; x2 1,00266; x3 1,00266 і з точністю до 10 2 отримуємо
x1 3, x 2 1, x3 1
Нижче наведено блок-схему розв’язання системи лінійних рівнянь методом простої
ітерації, яку можна реалізувати на ЕОМ (блок-схему алгоритму наведено у додатку Б).
Метод Зейделя
Метод Зейделя є модифікацією методу ітерацій. В методі Зейделя при обчисленні
(k 1) -го наближення невідомого xi враховуються вже знайдені раніше (k 1) -і
наближення невідомих x1 , x2 ,..., xi 1 .
30
x1 1 11 x1 12 x 2 ... 1n xn ,
x x x ... x ,
2 2 21 1 22 2 2n n
x3 3 31 x1 32 x2 ... 3n x2 , (2.8)
xn n n1 x1 n 2 x2 ... nn xn .
Вибираємо довільно початкові наближення коренів x1 , x 2 ,..., x n і підставляємо в
(0) (0) (0)
i 1
де k 0 ,1,2 ,..., n.
Процес Зейделя для лінійної системи X X так само, як і процес ітерацій,
збігається до єдиного розв′язку при будь-якому виборі початкового наближення, якщо
яка-небудь з норм матриці менша за одиницю, тобто якщо
n n
max ij 1 , або
2
1 2
max ji 1 або 3
ij 1
i j 1 j i,j
i 1
Процес Зейделя збігається до єдиного розв′язку швидше за процес простої ітерації.
Критерії визначення умов закінчення ітераційного процесу, як і для методу простої
ітерації, визначаються по абсолютних відхиленнях 1imax xi( k ) xi( k 1 ) або по відносних
n
xi( k ) xi( k 1 )
різницях max .
1i n xik
Приклад. Методом Зейделя розв′язати систему лінійних рівнянь
7 ,6 x1 0 ,5 x 2 2,4 x3 1,9 ,
2,2 x1 9,1x 2 4,4 x3 9,7 ,
1,3 x 0,2 x 5,8 x 1,4.
1 2 3
31
10 x1 1,9 2 ,4 x1 0,5 x 2 2,4 x3 ,
10 x 2 9,7 2 ,2 x1 0 ,9 x2 4 ,4 x3 ,
10 x 1,4 1,3 x 0 ,2 x 4,2 x ,
3 1 2 3
або
x1 0 ,19 0 ,24 x1 0 ,05 x 2 0 ,24 x3 ,
x 2 0 ,97 0 ,22 x1 0 ,09 x 2 0 ,44 x3 ,
x 0 ,14 0 ,13 x 0 ,02 x 0 ,42 x .
3 1 2 3
Лекція 4, 5
( x ) g( x ) , (4.1)
або f ( x ) 0 (4.2)
де ( x ) , g ( x ) та f ( x) 0 – нелінійні функції, визначенні на деякій числовій множині
X , яка називається областю допустимих значень рівняння.
Рівняння виду (4.1) або (4.2) називаються нелінійними рівняннями. Всі нелінійні
рівняння можна поділити на алгебраїчні та трансцендентні (рис.4.1)
33
Нелінійні рівняння, які містять трансцендентні функції називаються нелінійними
трансцендентними рівняннями.
Розв’язком нелінійного рівняння на ЕОМ називається вектор X , координати якого
x1 , x2 ,..., xn при підстановці в початкове рівняння перетворює його в тотожність.
В нелінійному рівнянні виду
a0 x n a1 x n 1 a2 x n 2 ... an 1 x an 0 (4.3)
і-та координата вектора X x1 , x2 ,..., xn називається і- тим коренем рівняння, а а1,
а2, …, ат - коефіцієнтами рівняння (4.3).
4.2 Принципи розв’язання нелінійних рівнянь на ЕОМ
Процес розв’язання нелінійних рівнянь вигляду (4.1) або (4.2) на ЕОМ розбивається
на два етапи:
1. відокремлення коренів;
2. уточнення коренів.
Перший етап іноді можна виконувати вручну, другий же виконується за допомогою
спеціальних методів уточнення коренів та програм. Розглянемо особливості етапу
відокремлення коренів.
Відокремлення коренів
Графічний метод. Будують графік функції y f (x) для рівняння виду f ( x) 0 або
представляють рівняння у вигляді ( x) g ( x) та будують графіки функцій y (x) та
y g (x) . Значення дійсних коренів рівняння є абсцисами точок перетину графіка функції
y f (x ) з віссю Ox або абсцисами точок перетину графіків функцій y (x ) та y g (x) .
Відрізки, в яких знаходиться тільки по одному кореню, легко знаходяться наближено.
Приклад 4.1. Знайти наближено графічним способом корені рівняння lg x - 3x 5 0
.
Розв’язок. Перепишемо рівняння наступним чином: lg x 3x - 5. Функції в лівій і
правій частині рівняння мають спільну область визначення: інтервал 0 < x < + . Тому
будемо шукати корені саме на цьому інтервалі.
Будуємо графіки функцій y lg x і y 3x 5 (рис. 4.3).
34
Рисунок 4.3 – Графічна інтерпретація прикладу 4.1
35
Рисунок 4.5.a – Графічна інтерпретація прикладу 4.2
37
4. Визначити інтервали, на кінцях яких функція приймає значення протилежних
знаків. Всередині цих інтервалів існує по одному і тільки одному кореню.
x - -4 2 +
Sign f(x) - + - +
В результаті аналізу таблиці отримаємо три відрізка на яких функція змінює знак: (-
,-4], [-4,2], [2, ).
Розширимо таблицю, щоб отримати точні значення кінців відрізків
+
x - -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4
Sig
n f(x) - - + + + + + + + - - - + +
Аналіз таблиці дозволяє обрати три відрізка, на яких функція f(x) змінює знак.
4) Наступним етапом дослідження рівняння на ЕОМ є етап уточнення значення
кореня з заданою на кожному відрізку.
4.3 Чисельні методи уточнення коренів
Постановка задачі
Нехай маємо рівняння f ( x) 0 , де f (x) – неперервна, монотонна нелінійна функція,
яка має на відрізку a, b єдиний корінь , тобто добуток f (a) f (b) 0 , причому b a ,
38
де – задана похибка обчислень. Потрібно знайти значення кореня з заданою
похибкою (рис. 4.9).
Алгоритм методу
40
Рисунок 4.11 – Графічна інтерпретація методу хорд і процедури визначення
рухомого кінця хорди
41
xi 1 xi (4.7)
де – наближені значення коренів рівняння
xi 1 , xi f ( x) 0 ,
відповідно на (i 1) і i-
му ітераційному кроці; – задана точність обчислень.
Слід відмітити, що розглянутий випадок (рис.4.11.а) перетину функції f (x) відрізку
a, b не є єдиним. Існує ще три варіанти перетину функції, кожний з яких відрізняється
напрямком побудови хорд і відповідно рухомими кінцями відрізку. Наприклад, на
рис.4.11.а,б рухомий кінець відрізку а, а на рис.4.11.в,г рухомий кінець – b і відповідно
формула 3.5 для нього має вигляд:
f (b )(b a )
x1 b
f (b ) f (a )
Для автоматизації цього алгоритму необхідно розробити правило для автоматичного
вибору рухомого кінця хорди і відповідно формули для обчислення наближеного
значення кореня. Існує два правила визначення рухомого кінця хорди.
Правило 1. Нерухомим кінцем відрізка є той, для якого знак функції співпадає із
знаком другої похідної. Якщо f (b) f ' ' ( x) 0 , то нерухомим є кінець b , а всі наближення
до кореня лежать зі сторони кінця a . Якщо f (a) f ' ' ( x) 0 , то нерухомим є кінець a , а
всі наближення до кореня лежать зі сторони кінця b (рис.4.11.а,б,в,г).
Правило 2. Якщо добуток першої на другу похідну функції f (x) більший за нуль:
f ' f ' ' 0 , то рухомий кінець a ; якщо добуток першої на другу похідну менший за нуль:
f ' f ' ' 0 , то рухомий кінець b .Схема алгоритму розв'язання нелінійного рівняння
методом хорд представлена на рисунку 4.12.
42
Рисунок 4.12 - Схема алгоритму розв'язання нелінійного рівняння методом хорд
43
3.3.3 Метод Ньютона (метод дотичних)
44
а) функція, яка досліджується, ввігнута (f'(x)>0, f''(x)>0)
б) функція, яка досліджується, опукла (f'(x)<0, f''(x)<0)
Даний процес ітераційний, тому формула для будь-якого n-го кроку ітерації має
вигляд:
f ( xn )
f ( xn ) . (3.9)
x n 1 xn
В результаті отримана послідовність наближених значень x1, x2, ..., xn , ..., кожний
наступний член якої ближчій до кореня , ніж попередній. Однак всі xn залишаються
більше істинного кореня , тобто xn - наближене значення кореня з надлишком.
Процес визначення кореня продовжується багаторазово доти, поки не одержано
наближений корінь із заданим степенем точності
x x ,
i 1 i (3.7)
де xi 1 , xi – наближені значення коренів рівняння f ( x) 0 , відповідно на (i 1) і i -
му ітераційному кроці; – задана похибка обчислень.
Другий випадок. Нехай f(a)<0, f(b)>0, f(x)>0, f(x)<0 (рис. 4.14, а) або f(a)>0,
f(b)<0, f'(x)<0, f''(x)>0 (рис. 4.14).
45
f(x )
і загалом x
n 1
x
n
n
f ( x )
n
. (4.11)
46
Рисунок 4.15 – Схема алгоритму розв'язання нелінійного рівняння методом
дотичних
Правило 1. Якщо добуток першої на другу похідну функції f (x) більший за нуль:
f ' f ' ' 0 , то рухомий кінець b ; якщо добуток першої на другу похідну менший за нуль:
f ' f ' ' 0 , то рухомий кінець a , тобто дотична будується в кінці a .
Правило 2. Якщо знак функції на кінці відрізку співпадає зі знаком другої похідної,
то цей кінець відрізка є рухомим, і в цій точці будується дотична.
48
Правило 1. Якщо добуток першої на другу похідну функції f (x) більший за нуль:
f ' ( x ) f ' ' ( x) 0 , (рис. 4.16 а, б) то рухомим для методу хорд є кінець a, і наближене
значення кореня з боку кінця a обчислюється за формулою хорд:
f ( an ) ( bn an )
xn 1 an . (4.14)
f ( bn ) f ( an )
Для методу дотичних рухомим є кінець b , і наближене значення кореня
обчислюється за формулою дотичних:
f ( bn )
x n 1 bn . (4.15)
f ' ( bn )
Правило 2. Якщо добуток першої на другу похідну функції f (x) менший за нуль:
f ' ( x ) f ' ' ( x) 0 (рис. 4.16 в, г), то рухомим для методу хорд є кінець b, і наближене
значення кореня з боку кінця b обчислюється за формулою хорд:
f ( bn ) ( bn an )
x n 1 bn . (4.16)
f ( bn ) f ( an )
Для методу дотичних рухомим є кінець a, і наближене значення кореня
обчислюється за формулою дотичних:
f ( an )
xn 1 a n . (4.17)
f ' ( an )
1
наближене значення кореня приймають 2 x n xn , де x n і xn – наближені значення
кореня відповідно з недостачею та з надлишком.
Схема алгоритму методу представлено на рисунку 4.17.
49
Рисунок 4.17– Схема алгоритму розв'язання нелінійного рівняння комбінованим
методом
y y
A1 B2
B1 A0
A3 B4
B2
A1 B3 A2
B3 A0
y ( x )
B4 A2 B1
M A3
C3 C 2 C1 C0
0 x4 x3 x2 x1 x0 x 0 x1 x3 x4 x2 x0 x
а б
51
Рисунок 4.19 – Схема алгоритму розв'язання нелінійного рівняння методом ітерацій
Джерела інформації
6. Щуп Т. Решение инженерных задач на ЕВМ. – М.: Мир, 1982. – 235с.
7. Демидович Б. П., Марон И. А. Основы вычислительной математики. –
М.: Наука, 1970. – 664 с.
8. Демидович Б. П., Марон И. А., Шувалова Е. З. Численные методы
анализа. – М.: Мир, 1967Волков Е. А. Численные методы. – М.: Наука, 1988.
9. Мак – Кракен Д., Дрон У. Численные методы и програмирование на
фортране. – М.: Мир, 1977. – 584 с.
10. Бахвалов Н. С. Численные методы . Т. И. Анализ, алгебра, обычные
диференциальные уравнения. – М.: Наука, 1975. – 631 с.
11. Краскевич В. Є., Зеленський К. Х., Гречко В. И. Численные методы в
инженерных исследованиях. – К.: Высшая шк.., 1986. – 263 с.
12. Рисс Ф., Секефальви – Надь Б. Лекции по функциональному анализу –
М.: Мир, 1979.
13. Плис А.И., Сливина Н.А. Mathcad. Математический практикум для
инженеров и экономистов: – М.: Финансы и статистика, 2003. – 656с.
14. Тихомиров В. М. Некоторые вопросы теории приближений. – М.: МГУ,
1976.
15. Ахиезер Н. И. Лекции по теории апроксимации. – М.: Наука, 1965.
52
16. В.И. Бердышев, Ю.Н. Субботин. Численные методы приближения
функций. – Средне-Уральское книжное книжное издательство, 1979.
17. Суетин П. К. Классические ортогональные многочлены. – М.: Наука,
1976. – 327 с.
18. Альберг Дж., Нильсон Е., Уолт Дж. Теория сплайнов и ее дополнение.
– М.: Мир, 1972.
19. Стечкин С. Б., Суботин Ю. Н. Сплайны в вычислительной математике.
– М.: Наука, 1976.
20. Трауб Дж. Итерационные методы решения уравнений. – М.: Мир, 1985.
– 263 с.
53
25. Розробить підпрограму - функцію для уточнення коренів нелінійного
рівняння методом ітерацій.
Лекція 6
ІНТЕРПОЛЯЦІЯ ФУНКЦІЇ
План лекції:
1. Способи завдання функцій
2. Математична постановка задачі інтерполювання
3. Інтерполяційний багаточлен Лагранжа
4. Перша інтерполяційна формула Ньютона для рівновіддалених вузлів інтерполяції
1. Інтерполяція –
підхід, за допомогою якого отримують аналітичні залежності табличних функцій
за умови, що аналітична функція Q( x ) повинна проходити через всі задані
експериментальні точки.
2. Апроксимація –
підхід, за допомогою якого знаходиться аналітична функція Q( x ) , що
“найкращим чином” наближається до заданої табличної функції. Звичайно
“найкращим чином” – це критерій, в якості якого використовується критерій
середньо квадратичного відхилення (СКВ), заснований на тому, що сума
квадратів відхилень аналітичної функції Q( xi ) від експериментальної yi (при
і=0, 1, …, k) повинна бути мінімальною:
n
( Q( xi ) yi )2 min
i 0
55
Рисунок 5.1 – Класифікація чисельних методів наближення табличних функцій
5.2 Математична постановка задачі інтерполювання
В економіці і техніці постійно приходиться зіштовхуватися з необхідністю
обчислення значень функції y f ( x ) в точках xi , відмінних від значень аргументу,
фіксованих в таблиці експериментальних досліджень. Крім того, в деяких випадках,
незважаючи на те, що аналітичний вираз функції y f ( x ) відомий, він є занадто
складним і незручним для подальших математичних перетворень. Подібні задачі
формалізуються як задачі інтерполювання.
Нехай на відрізку [ a ,b ] функція y f ( x ) задана системою точок
{( x0 , y0 ),( x1 , y1 ),...,( xn , yn )} , де значення x1 ; x 2 ;...x n називаються вузлами інтерполяції.
Необхідно знайти аналітичну залежність Q( x ) , співпадаючої у вузлах інтерполяції зі
значеннями заданої функції, тобто y0 Q( x0 ) f ( x0 ), y1 Q( x1 ) f ( x1 ),..., yn Q( xn ) f ( xn ).
Процес обчислення значень функції Q( x ) в точках xi , відмінних від вузлів інтерполяції,
називають інтерполюванням функції f ( x ) (рисунок 5.1).
Якщо аргумент x знаходиться за межами відрізка інтерполювання [ x0 , xn ] , то задача
визначення значення функції Q( x ) в точці x називається екстраполюванням.
Слідує відмітити, що задача інтерполювання стає однозначною, якщо в якості
функції Q( x ) вибрати багаточлен Qn ( x ) степені не вище n, такий, що
Qn ( x0 ) y 0 , Qn ( x1 ) y1 , ...Qn ( xn ) y n . Багаточлен Qn ( x ) , що задовольняє цим умовам,
0x0 xназивають
1 інтерполяційним багаточленом, а відповідні формули – інтерполяційними
формулами.
де xi і yi (i 0,1,..., n)
табличні значення аргументу і функції, що досліджується.
Невідомі коефіцієнти a0 ,a1 ,...,an знаходяться по формулам Крамера:
0
a0 , a1 1 an ,..., n , (5.4)
Якщо 0, (тобто коли x0 , x1 ,..., xn різні), то система (5.3) має єдиний розв’язок.
Якщо знайти коефіцієнти a0 , a1 ,..., an , можна уявити інтерполяційний багаточлен у
вигляді
2
0 1
Ln ( x) x 2 x ... n x n .
0, i j;
Qi ( x j )
1, i j.
58
( x x0 )( x x1 )...( x xi 1 )( x xi 1 )...( x xn )
Qi ( x) . (5.6)
( xi x0 )( xi x1 )...( xi xi 1 )( xi xi 1 )...( xi xn )
В точках x0 , x1 ,..., xi 1 , xi 1 ,..., x n функція Qi (x ) обертається в 0, а в точці xi
дорівнює 1.
Остаточно отримаємо вираз (5.7)
( x x1 )...( x xn ) ( x x0 )( x x2 )...( x xn )
Lm ( x) y0 y1 ...
( x0 x1 )...( xi xn ) ( x1 x0 )( x1 x2 )...( x1 xn )
( x x0 )( x x1 )...( x xn 1 )
yn . (5.7)
( xn x0 )( xn x1 )...( xn xn 1 )
Цей багаточлен називається інтерполяційним багаточленом Лагранжа. В
спрощеному вигляді його можна записати так:
n ( x x0 )( x x1) ...( x xi 1 )( x xi 1 )...( x xn )
Ln ( x) yi . (5.8)
i 0 ( xi x0 )( xi x1 )...(xi xi 1 )( xi xi 1 )...( xi xn )
Даний метод легко алгоритмізується і може використовуватися для розробки
програм інтерполяції. Схема алгоритму метода представлена на рисунку 5.3.
59
Приклад: Побудувати інтерполяційний багаточлен Лагранжа для функції заданої
таблично.
n 0 1 2 3
x 1 2 3 5
y 1 5 4 8
60
Якщо функція, що досліджується, задана значеннями y0 f ( x0 ), y1 f ( x1 ), yn f ( xn )
в рівновіддалених вузлах інтерполяції, тобто x1 x0 h, x2 x1 h,..., xn x0 nh. , то для
побудови її аналітичної залежності зручно використовувати першу інтерполяційну
формулу Ньютона.
Для виводу інтерполяційних формул для рівновіддалених вузлів інтерполяції
вводиться поняття кінцевої різниці.
Поставимо наступну задачу: для функції y f (x) , яка задана таблицею значень
y0 f ( x0 ), y1 f ( x1 ), , y n f ( xn ), причому x змінюється з однаковим кроком h, тобто
xi xi 1 h , побудувати кінцеві різниці.
Кінцевою різницею першого порядку yi називається різність між значеннями
функції в сусідніх вузлах інтерполяції:
y0 y1 y0
y1 y2 y1
y2 y3 y2
..........................
yn y n yn 1
61
В цьому виразі невідомі коефіцієнти a0 , a1 ,..., am . Для того щоб знайти a0 ,
покладемо x x0 . Тоді при підстановці x x0 в вираз (5.9) всі складові, окрім першої,
обернуться в нуль, тобто Pn ( x0 ) a0 , а значення функції в точці x0 відомі з умови задачі:
Pn ( x0 ) y 0 . Отже a 0 y 0 .
Щоб знайти коефіцієнт a1 , складемо першу кінцеву різницю для багаточлена Pm (x)
в точці x:
Pm ( x ) Pm ( x h ) Pm ( x ).
Зробивши всі підстановки, отримаємо:
Pm ( x) a0 a1 ( x x0 h ) a2 ( x x0 h )( x x1 h)
(x x1 h )( x x2 h ) ... am ( x x0 h )( x x1 h )...
a0 a1 ( x x0 ) a2 ( x x0 )( x x1 ) a3 ( x x0 )( x x1 )( x x2 ) ...
am ( x x0 )( x x1 )...( x xn 1 ) a1 ( x x0 h) ( x x0 ) a2 ( x x0
h)( x x1 h) ( x x0 )( x x1 ) a3 ( x x0 h)( x x1 h)( x x2
h) ( x x0 )( x x1 )( x x2 ) ... am ( x x0 h)( x x1 h)...( x xn 1
h ) ( x x0 )( x x1 )...( x xn 1 ) ha1 2 ha2 ( x x0 ) 3ha3 ( x
( x x1 ) ... nham ( x x0 ) ( x x1 )...( x xn 2 ).
Обчислимо першу кінцеву різницю багаточлена в точці x0 . Тут також всі члени,
окрім першого, обернуться в нуль, і, отже, Pm ( x0 ) a1h, але
Pm ( x0 ) f ( x1 ) f ( x0 ) y1 y0 y0 ,
y0
звідки y0 a1h і a1 .
h
Щоб визначити коефіцієнт a2 , складаємо кінцеву різницю другого порядку:
Pm ( x) Pm ( x h) Pm ( x).
2
62
Якщо за число вузлів інтерполяції прийняти n 1 , то отримаємо формулу лінійного
інтерполювання
P1 ( x ) y0 qy0 .
При n 2 отримаємо формулу параболічного, або квадратичного інтерполювання
q(q 1) 2
P2 ( x) y0 qy0 y0 .
2
На практиці часто буває необхідно зменшити крок інтерполяції якої-небудь таблиці
з рівновіддаленими аргументами. В таблиці можна вважати, що кількість вузлів
інтерполяції необмежена. Тоді вибирають n так, щоб кінцева різниця n yi була
постійна з заданим ступенем точності. За початкове значення x0 можна вибирати будь-
яке значення аргументу.
Схема алгоритму інтерполяції табличної функції багаточленом Ньютона
представлена на рисунку 5.4.
63
Рисунок 5.4 – Схема алгоритму інтерполяції табличної функції багаточленом
Ньютона
64
N x y 1 y 2 y 3 y 4 y 5 y
0 0 -1 3 1 6 0 0
2
1 1 2 1 1 6 0
5 8
2 2 17 3 2 6
3 4
3 3 50 5 3
7 0
4 4 10 8
7 7
5 5 19
4
k y0 y0 3
ck , c0 y0 1 , c1 3,
(k !)h k 1!12 1
2 y0 12 3 y0 6 4 y0
c2 6 , c3 1 , c4 0
2!12 2 3!13 6 4!14
Висновки:
1. За допомогою аналітичної залежності x 3 3 x 2 x 1 можливо отримати
значення функції для x , які знаходяться між точками дослідження. отримуємо це
називається задачею інтерполяції.
2. За допомогою аналітичної залежності x 3 3 x 2 x 1 можна отримати значення
функції за межами інтервалу дослідження. Наприклад, при x 6 y 317 . Дана
задача називається екстраполяцією або прогнозуванням.
Джерела інформації
1. Щуп Т. Решение инженерных задач на ЕВМ. – М.: Мир, 1982. – 235с.
21. Демидович Б. П., Марон И. А. Основы вычислительной математики. –
М.: Наука, 1970. – 664 с.
22. Бахвалов Н. С. Численные методы . Т. И. Анализ, алгебра, обычные
диференциальные уравнения. – М.: Наука, 1975. – 631 с.
23. Калиткин Н. Н. Численные методы . – М.: Наука, 1978. – 512 с.
24. Крылов В. И., Шульга А. Т. Справочная книга по численному
интегрированию. – М.: Наука, 1966.
1. 2. 3. 4. 5.
6.
7. 8. 9. 10.
k
11. 14. 15.
12. 13.
k 4 6
48.
47. 49 50. 51. 52.
3
54.
55. 57. 58.
53. 1 56.
7 5 7
5
Лекція 7
Математична обробка результатів дослідження
План лекції:
1. Апроксимація табличних функцій
2. Апроксимація табличних функцій степеневими поліномами
3. Апроксимація узагальненими поліномами
4. Апроксимація ортогональними поліномами
5. Апроксимація тригонометричними поліномами (гармонійний аналіз)
6. Розклад функцій в ряд Фур’є. Теорема Діріхлє
7. Чисельний гармонічний аналіз
Постановка задачі
Постановка задачі
З нього видно, що
E0 ( x ) Q( x0 ) y0 , E1( x ) Q( x1 ) y1 , ..., En ( x ) Q( xn ) yn ,
68
тому вираз (6.5) можна представити в вигляді:
( Q( xi ) yi )2 Ei2 min
i i
Очевидно, що функція E - це багато параметрична функція на множині ai ,
(i 1,..., m) . Мінімуму такої функції знаходиться при виконанні умови виду:
E( x ) E( x ) E( x )
0, 0 , , 0 (6.6)
a0 a1 am
E
a0
n
a0
2 a1 xi a2 2
xi am m
xi
i 0
E
n
2 a0 a1 xi 2
a 2 xi m
a m xi
a1 i 0
E
a0
n
a m
2 a1 xi a2 2
xi am m
xi
i 0
(6.7)
Система рівнянь (6.7) представляє собою систему лінійних алгебраїчних рівнянь
відносно коефіцієнтів поліному a0 ,a1 ,a2 , am , які необхідно знайти, щоб визначити
аналітичну залежність, яка описує експериментальний масив даних. Дану систему можна
записати у матричному вигляді:
n n n
m
n
n i x xi2 i
x y i
i 0 i 0 i 0 i 0
n a
m 1
n n n 0 n
i x i x 2
xi3 i a1
x i i
x y
i 0 i 0 i 0 i 0 i 0
n 2 n n n a n
m2 2 2
xi xi3 xi4 xi i i
x y
i 0 i 0 i 0 i 0 i 0
am
n n n n n
xim xim 1 xim 2 i x 2m x m m
y
i 0 i 0 i 0 i 0 i 0 i i
70
Рисунок 6.2– Схема алгоритму побудови СЛАР методом В.Д. Деля
Якщо для заданого степеня m поліному Q( x ) в результаті розрахунків на ЕОМ
отриманий поліном не відповідає заданої похибки обчислень , то необхідно збільшити
ступень поліному на 1 (тобто степінь полінома буде m 1 ), при цьому на одиницю
збільшується кількість коефіцієнтів поліному (додається новий член степеневого
71
поліному), які необхідно знову розраховувати. При цьому розмір системи (6.7)
збільшується на 1, і для визначення нових коефіцієнтів a0 , a1 , am необхідно знову
розв’язувати систему (6.7) методом Гауса. Цей процес повторюється до тих пір, поки не
виконається умова
n
Q xi yi 2 , (6.8)
i 0
де - задана похибка отриманих результатів.
Схема алгоритму апроксимації функцій, заданих таблицею, методом найменших
квадратів представлена на рисунку 6.3.
Постановка задачі
Припустимо, що в результаті інженерного або наукового експерименту отримана
система точок: x0 , y0 , x1 , y1 , xn , yn . Необхідно знайти аналітичну функцію виду:
Q x a0 0 x a11 x a2 2 x am m x , (6.9)
таку що середне квадратичне відхилення цієї функції від заданої системи точок буде
мінімальним:
72
Q xi yi
2
min , (6.10)
i
Розв’язання цієї задачі зводиться до знаходження коефіцієнтів аналітичної функції
a0 , a1 , am .
Визначимо відхилення аналітичної функції Q( x) від експериментальних
даних в кожної i-ої точці ( xi , yi ) :
E
a 2 a00 xi a11 xi a2 2 xi a m m xi yi 0 0
0 i
E
2 a00 xi a11 xi a 2 2 xi a m m xi yi 1 0
a0 i (6.13)
.......... .....
E
2 a00 xi a11 xi a2 2 xi a m m xi yi m 0
am i
Після спрощення та рокриття дужек в кожному рівнянні система (6.13) буде мати
вигляд:
a0 02 xi a1 0 xi 1 xi a m 0 xi m xi 0 xi yi
i i i i
a0 0 xi 1 xi a1 12 xi a1 a m 1 xi m xi 1 xi yi
i i i i (6.14)
.....................
a 0 xi m xi a1 1 xi m xi am m2 xi m xi yi
0 i i i i
(6.15)
Вибір системи функцій k ( x) здійснюється з врахуванням наявності в
експериментальних даних деяких тенденций, наприклад, періодичність
експериментальних даних, або експоненціальний або логарифмічний характер їх зміни,
властивості симетрії або наявність асимптотики.
6.1.3 Апроксимація ортогональними поліномами
73
Розглянемо спочатку поняття ортогональності та ортогональних функцій або
системи функцій.
Функції ( x) і f (x) називаються ортогональними на заданій множині точок
{x0 , x1 ,..., xm } , якщо сума попарних добутків цих функцій дорівнює 0.
m
( xi ) f ( xi ) 0 (6.16)
i 0
Система функцій 0 ( x), 1 ( x), 2 ( x), , m ( x) називається ортогональною на
заданій множині точок {x0 , x1 ,..., xn } , якщо сума попарних добутків цих функцій
дорівнює нулю, виключаючи добуток функції саму на себе.
n
k ( xi ) m { xi } 0 (6.17)
i 0 ,m k
яка найкращим чином описує задану систему точок і забезпечує суму квадратів
відхилень аналітичної функції Q( x) від експериментальної на заданій множині
x { x , x ,..., x } . Тут 0 ( x ), 1 ( x ), 2 ( x), , m ( x ), - задана система функций,
0 1 m
a0 , a1 , a2 , am - коефіціенти поліному.
74
a0 02 xi a1 0 xi 1 xi a m 0 xi m xi 0 xi yi
i i i i
a0 0 xi 1 xi a1 12 xi a1 a m 1 xi m xi 1 xi yi
i i i i .(6.19)
.....................
a 0 xi m xi a1 1 xi m xi am m2 xi m xi yi
0 i i i i
Лежандра P1 ( x ) x ;
P0 ( x ) 1 Pn1 ( x ) [( 2 n 1 )xPn ( x ) nPn1 ( x )] /( n 1 ), n 1,2...
75
Ляггера L1 ( x ) 1 x;
L0 ( x ) 1 Ln1 ( x ) [( 2 n 1 x )Ln ( x ) nLn1 ( x )] /( n 1 ), n 1,2...
76
Розглянемо особливості використання ряду Фур'є для інженерних задач. При цьому
виникають наступні питання:
1) Чи збігається ряд Фур'є функції f(x) ?
2) Якщо ряд збігається, то чи буде він мати своєю сумою f(x)?
Відповіді на поставлені питання дає теорема Діріхлє. Перше ніж сформулювати саму
теорему, нагадаємо деякі поняття. Функція f(x) називається монотонною на інтервалі,
якщо для будь-яких x1 і x2, які належать цьому інтервалу і таких, що x1 < x2, виконується
лише одна з нерівностей f(x1)f(x2) або f(x1)f(x2). Функція f(x) називається кусково-
монотонною на інтервалі, якщо його можна розбити на кінцеве число відкритих
інтервалів, в кожному з яких функція монотонна.
a n 1 f ( x) cos nxdx (6.25)
bn 1 f ( x) sin nxdx (6.26)
Функція f(x) називається кусково-неперервною на інтервалі, якщо вона має на ньому
кінцеве число точок розриву.
Позначимо через f(а + 0) границю функції f(x) коли х прямує до a справа (права
границя), відповідно, через f(а - 0) - ліва границя.
Теорема Діріхлє. Якщо функція f(x), яка задана в інтервалі [-, ], кусково-
монотонна і кусково-неперервна, то ряд Фур'є цієї функції збігається на всьому інтервалі
[-, ] і сума його дорівнює:
1. f(x) в усіх точках неперервності, які належать [-, ];
2. 12 [ f(x - 0) +f(x + 0)] в усіх точках розриву, які належать інтервалу [-, ];
Тобто
a0
f(x)
2
( a cos nx b sin nx )
n n
n1
Теорема Діріхлє не стверджує рівномірної збіжності ряду Фур'є до функції f(x).
Однак якщо посилити властивості, яким повинна задовольняти функція, тобто вимагати
від неї неперервності на всьому інтервалі [-, ], кускової монотонності на ньому і
виконання рівності f(- ) = f ( ), то ряд Фур'є для такої функції буде рівномірно
збігатися до функції f(x) на всьому інтервалі [-, ].
Можна показати, що для парної функції всі коефіцієнти bn дорівнюють нулю, а
відповідний ряд Фур'є не містить синусів:
a
f ( x) 0 an cos nx , (6.27)
2
n1
де an 2 f ( x ) cos nxdx . (6.28)
0
Аналогічно для непарної функції всі коефіцієнти аn дорівнюють нулю і відповідний
ряд Фур'є не містить косинусів:
f ( x ) bn sin nx , (6.29)
n1
Де bn f ( x ) sin nxdx . (6.30)
0
77
Чисельний гармонічний аналіз
Теоретичні та практичні засоби використання ряду Фур'є заміст функції f(x) в
задачах моделювання і обробки результатів інженерних та наукових експериментів
називається гармонічним аналізом. При практичних розрахунках необхідно обмежитися
тільки декількома першими членами ряду Фур'є. В результаті можна отримати лише
наближений аналітичний вираз для функції f(x) в вигляді тригонометричного
багаточлену N-го порядку
a0 N
QN ( x ) ( an cos nx bn sin nx ) (6.31)
2 n 1
Крім того, формули (6.23), (6.24), (6.25) для обчислення коефіцієнтів Фур'є придатні
лише в випадку аналітичного завдання функції. На практиці, як правило, функція f(x)
задається в вигляді таблиць або графіків (рис. 6.4), тому виникає задача наближеного
відшукування коефіцієнтів Фур'є. Узагальнюючи вищесказане, сформулюємо наступну
задачу чисельного гармонічного аналізу: апроксимувати на інтервалі (0,Т)
тригонометричним багаточленом m-го порядку функцію y= f(x), для якої відомі m її
значень
yk f ( xk ) при xk = kТ (к=0,1,2,..., m-1).
m
Тригонометричний багаточлен для функції, яка визначена на інтервалі (0,T), має
вигляд
N
a0
QN ( x ) 2
(an cos n 2
T
x bn sin n 2T x) , (0 x T) (6.32)
n 1
T
a 2 f ( x ) cos n 2 xdx , (6.33)
n T T
0
T
b 2 f ( x ) sin n 2 xdx (6.34)
n T T
0
Використовуючи в співвідношеннях (6.31) і (6.32) формулу прямокутників для
обчислення інтегралів за значеннями підінтегральних виразів в точках xk kT m (k =
0,1,2,...,m -1), маємо
m 1
an 2
m yk cos n 2 m k , (n=0,1,2,...,N) (6.35)
k 0
m 1
bn 2
m y k sin n 2 m k (6.36)
k 0
Джерела інформації
25. Бахвалов Н. С. Численные методы . Т. И. Анализ, алгебра, обычные
диференциальные уравнения. – М.: Наука, 1975. – 631 с.
26. Калиткин Н. Н. Численные методы . – М.: Наука, 1978. – 512 с.
27. Ракитский Ю. В., Устинов С. М., Черноруцкий И. Т. Численные методы
решения жестких систем. – М.: Наука, 1979.
28. Самарський А. А., Николаев Е. С. Методы решения точных уравнений.
– М.: Наука, 1978.
78
29. Плис А.И., Сливина Н.А. Mathcad. Математический практикум для
инженеров и экономистов: – М.: Финансы и статистика, 2003. – 656с.
30. Д. Мэтьюз, Г. Цинк, Д. Куртис. Численне методы. Использование
Matlab, –М. Издательский дом “Вильямс”, 2001. – 720 с. 720 с.
31. Иванов В. В. Методы вычислений на ЕОМ. – Киев: Наук. думка, 1986.
– 584 с.
cos(2n 1) x (1) n
Відповідь: f x = 2 sin nx.
4 ( 2 n 1) 2 n
n 1 n 1
Лекція 8
.
Перепишемо, розкриваючи дужки:
. (1)
Аналогічно, враховуючи, що
,
отримуємо:
. (2).
В такий самий спосіб за необхідністю можна обрахувати похідні функції
будь-якого порядку.
Проте кожного разу, обчислюючи значення похідної у фіксованій точці за
формулами (1) та (2), в якості слід обирати найближче зліва вузлове значення
аргумента.
Формули (1) та (2) значно спрощуються, якщо шуканим значенням виявляється
один з вузлів таблиці. Оскільки в цьому випадку кожне табличне значення можна
вважати за початкове, то, покладаючи , отримуємо . Тоді формули матимуть
вигляд:
.
Похибки при чисельному диференціюванні
При чисельному диференціюванні таблично заданої функції y f (x) виникають
похибки двох типів:
- похибки наближення, які викликані заміною функції f(x) інтерполяційним
многочленом Pn ( x );
- похибки округлення, які викликані наближеними значеннями вихідних даних y i .
hn
a f (( n)1) ,
Похибки наближення a оцінюються величиною n 1 де ( x 0 ; x n ). Ця
оцінка є малоефективною, тому що, як правило, мало що відомо про порядок величини
80
(n 1)
похідної f (x) . На практиці користуються числовою оцінкою похідної. Усі формули
оцінки похибки наближення містять крок розрахунку h , тому похибка при h 0
зменшується.
Похибки округлення навпаки обернено пропорційні кроку розрахунку h :
y 1 y 0 y1 y 1 2
y'0 .
Для формули 2h 2h маємо 2h h
y 1 y 0 3 y 2 3 y 1 y -2 8 y1 8 y1 y 2
y'0
Для формули 2h 12h 12h
18 3
,
маємо 12h 2h де похибка округлення y i .
Похибка округлення зростає зі збільшенням порядку похідної.
Загальна похибка обчислення a . Оскільки зі зменшенням кроку розрахунку
h похибка наближення зменшується, а похибка округлення зростає (рис. 10.1), то існує
оптимальний крок розрахунку (свій для кожної формули чисельного диференціювання).
Δ
a
h
hопт
Рисунок 10.1 − Залежність похибок від кроку диференціювання
Зразок виконання завдання
Завдання: за допомогою інтерполяційних формул Ньютона знайти значення першої та
другої похідних для функції , що задана таблицею, в точці .
Розв’язання:
Складемо для заданої функції таблицю кінцевих різниць:
81
0 1.2733 0.5274 0.0325 0.0047 0.0002
0.1 1.8007 0.5599 0.0372 0.0049 0.0002
0.2 2.3606 0.5971 0.0421 0.0057
0.3 2.9577 0.6392 0.0472
0.4 3.5969 0.6864
0.5 4.2833
За умовою крок таблиці . Шукане значення співпадає з вузлом таблиці.
Тобто табличне значення можна вважати за початкове: . Отже .
Обчислення проводимо за формулами
.
Отже
Відповідь: .
Лекція 9
Наближені методи інтегрування
План лекції:
1. Основні поняття та визначення
2. Чисельні методи знаходження визначеного інтегралу
3. Метод прямокутників
4. Метод трапецій
5. Метод Сімпсона
lim S
називається інтегральною сумою функції f(x). Якщо при 0 існує границя Δ 0 ,
не залежна ні від способу розбиття відрізку [a,b] точками xi, i=1,2,…,n-1, ні від вибору
точок i (xi1, xi), то ця границя називається визначеним інтегралом від функції f(x) на
відрізку [a,b] , а саму функцію – інтегрованою на [a,b], та позначають як
b
lim S f x dx
Δ 0
a
b
84
b
ba N 1
I l f ( x)dx h [ f ( x n ) f ( x n 1 ) ... f ( x1 )]
N
f (x )
i 0
i (7.2)
a
85
f ( x i ) f ( x i 1 )
Si h .
2
а) б)
87
Рисунок 7.7 - Схема алгоритму метода Сімпсона
Джерела інформації
1. Щуп Т. Решение инженерных задач на ЭВМ. – М.: Мир, 1982. – 235с.
2. Демидович Б. П., Марон И. А. Основы вычислительной математики. – М.:
Наука, 1970. – 664 с.
3. Бахвалов Н. С. Численные методы . Т. И. Анализ, алгебра, обычные
диференциальные уравнения. – М.: Наука, 1975. – 631 с.
4. Форсайт Дж., Малькольм., Моулер Р. Машинные методы математических
вычислений. – М.: Мир, 1980.
5. Ляшко, В.Ф. Емельянов, О.К. Боярчук. – К.: Вища школа., 1993. – 375 с.
6. Крылов В. И., Шульга А. Т. Справочная книга по численному интегрированию.
– М.: Наука, 1966.
7. Хемминг Р. В. Численные методы. – М.: Наука, 1972. – 399 с.
8 Плис А.И., Сливина Н.А. Mathcad. Математический практикум для инженеров и
экономистов: – М.: Финансы и статистика, 2003. – 656с.
9. Крилов В. И. и др. Начала теории вычислительных методов. Интегральное
уравнение, некорректные задачи и улучшение сходимости. – Минск: Наука и техника,
1984. – 263 с.
10. Прикладные методы и программирование в численном анализе. – М.: Изд-во
Моск. ун – ту, 1985. – 185 с.
Лекція 10
Інтегрування за допомогою степеневих рядів
План лекції:
1. Метод Ньютона-Котеса
2. Метод Чебишева
3. Метод Гауса
4. Загальний підхід до визначення інтегралів на ЕОМ
f ( x) dx (b a) y i H i , (8.1)
a i 0
89
8.2 Метод Чебишева
На відміну від методу Ньютона-Котеса, в якому коефіцієнти Hi (i=1,N) знаходять у
фіксованих вузлах інтерполяції, П.Л. Чебишев запропонував для обчислення визначених
інтегралів використати формулу
b N
f ( x )dx ( b a ) c
i 1
i f ( xi ) , (8.2)
a
f ( x)dx 2c
a
n [ f ( x1 ) f ( x 2 ) ... f ( x n )] , (8.3)
де квадратурні коефіцієнти Сn та абсциси xi підлягають визначенню.
Коефіцієнти Сi та вузли інтерполяції xi визначимо із умови, що ця рівність є точною
для випадку, коли f(х) - багатогочлен вигляду
f ( x ) a0 a1 x a2 x 2 ... an x n (8.4)
Підставимо багаточлен (8.4) у ліву частину (8.3) та проінтегруємо:
1
a 2 a3
(a
1
0 a1 x a 2 x 2 ... a n x n ) 2(a0
3
...)
5
(8.5)
У праву частину рівності (8.3) підставимо значення многочлена (8.4) у вузлах х1, х2,
…,хn:
f ( x1 ) a 0 a1 x1 a 2 x12 a 3 x13 ... a n x1n ,
f ( x 2 ) a 0 a1 x 2 a 2 x 22 a 3 x 23 ... a n x 2n
f ( x3 ) a 0 a1 x 3 a 2 x32 a 3 x33 ... a n x 3n , (8.6)
.......... .......... .......... .......... .......... .......... ...
f ( x n ) a 0 a1 x n a 2 x n2 a 3 x n3 ... a n x nn
Тоді формула (8.5) буде мати вигляд
a2 a4
2( a0 ...) 2cn [ na0 a1 ( x1 x2 .. xn ) a 2 ( x12 x22 ... xn2 )
3 5 (8.7)
3 3 3 n n n
a3 ( x1 x2 ... xn ) ... a n ( x1 x2 ... xn )]
Отримана рівність повинна виконуватися за будь-яких значень аo,а1,…,аn і таким
чином, порівнюючи коефіцієнти аi в правій і лівій частинах (8.7) знаходимо, що nCn=1,
звідки
1
cn (8.8)
n
i, крім цього,
x1 x2 x3 .. xn 0 ,
n
x12 x22 x32 ... xn2
3,
x13 x23 x33 ... xn3 0 , (8.9)
n
x14 x24 x34 ... xn4 ,
.............................................
5
90
n[ 1 ( 1 )n 1 ]
x1n x 2n x3n ... x nn
2( n 1 )
f ( x )dx c
1
1 f ( x1 ) c 2 f ( x 2 ) ...c n f ( x n ) , (8.13)
в якої не фіксуються не тільки вузли інтерполяції x1, x2,…,xn, а й квадратурні
коефіцієнти С1,…,Сn. При цьому Zn невідомих величин x1,…,xn; С1,…,Сn визначається із
умови, що формула є точною у випадку будь-якого багаточлена 2n-1.
Таким чином, для будь-якого багаточлена (2n-1)-й степеню
f ( x) a0 a1 x a 2 x 2 .. a 2 n1 x 2 n1 (8.14)
повинна виконуватися рівність:
1
f ( x)dx c
1
1 f ( x ) c2 f ( x2 ) ... c n f ( xn ) . (8.15)
91
Багаточлен f(x) степеню 2n-1 можна показати у вигляді
f(x)=F(x)Q(x)+R(x) , (8.16)
де F(x)-шуканий багаточлен n-ї степені, а Q(x) та R(X)- відповідно частинне ділення
f(x) на F(x) та залишок від цього ділення, степінь багаточленів Q(x) та R(x) не
перевищують (2n-1).
Вираз для F(x) можна записати так:
F ( x ) x n A1 x n1 A2 x n2 ... An ( x x1 )...( x xn ) (8.17)
тут величини x1,…,xn - шукані абсциси формули Гаусса, а А1,А2,…,Аn - постійні.
Оскільки шукана функція F(x) у вузлах x1,…,xn перетворюється на нуль, то
f ( x1 ) R( x1 ); f ( x 2 ) R( x 2 );... f ( x n ) R( x n ) (8.18)
Тоді рівність (5.23) набере вигляду
1 1 1
1
f ( x )dx
1
F ( x )Q( x )dx R( x )dx c R( x
1
1 1 ) R( x 2 ) ... R( x n ) (8.19)
Але для багаточлена R(x) степеню не вище n-1 також повинна виконуватися рівність:
1
` R( x )dx c1 R( x1 ) c 2 R( x 2 ) ... R( x n )
1
(8.20)
Bіднімаючи (8.20) від (8.19),отримаємо
1
F ( x )Q( x )dx 0.
1
1
xF ( x)dx 0,
1
1 n2
x F ( x)dx 0, (8.22)
1
1
F ( x)dx 0
1
A1 A A
3 5 ... 0,
2n 1 2n 3 2n 5
1 A A
2 4 ... 0 (8.23)
2n 1 2n 3 2n 5
1 A2 A6
2 3 2 7 2 7 ... 0,
n n n
A1 A3 A5
... 0 ,
2n 3 2n 5 2n 7
( x x
1
1 )( x x 2 )...( x xi 2 )( x xi 1 )...( x x n )dx
(8.25)
ci
( xi x1 )( xi x 2 )...( x xi 1 )( x xi 1 )...( x x n )
f ( x )dx c
1
1 f ( x1 ) c 2 f ( x 2 ) ,
1
xF ( x)dx 0,
1
1
F ( x)dx 0
1
підстановкою багаточлена F(x) у систему. Маємо
A1 1
0 ; A2 0 ,
3 3
тобто А1=0, А2 =-1/3. Тоді F( x ) x 2 1 / 3 , звідки
3 3
x1 0 ,57735 та x2 0 ,57735
3 3
Коефіцієнти с1 та с2 обчислимо за формулою (8.25)
1 1
x x2 x x1
c1 x
1 1
x2
dx 1 ; c2 x
1 2 x1
dx 1
Отже, f ( x )dx
1
f ( 0 ,57735 ) f ( 0 ,57735 )
93
Значення квадратурних коефіцієнтів Гаусса сі (і=1,2...n) та абсцис хі (і=1,2...n)
наведені в таблиці 8.3.
94
Рисунок 8.1 – Схема загального алгоритму обчислення визначеного інтегралу на
ЕОМ
Джерела інформації
1. Щуп Т. Решение инженерных задач на ЭВМ. – М.: Мир, 1982. – 235с.
2. Демидович Б. П., Марон И. А. Основы вычислительной математики. – М.:
Наука, 1970. – 664 с.
3. Бахвалов Н. С. Численные методы . Т. И. Анализ, алгебра, обычные
диференциальные уравнения. – М.: Наука, 1975. – 631 с.
4. Форсайт Дж., Малькольм., Моулер Р. Машинные методы математических
вычислений. – М.: Мир, 1980.
6. Крылов В. И., Шульга А. Т. Справочная книга по численному интегрированию.
– М.: Наука, 1966.
7. Хемминг Р. В. Численные методы. – М.: Наука, 1972. – 399 с.
8 Плис А.И., Сливина Н.А. Mathcad. Математический практикум для инженеров и
экономистов: – М.: Финансы и статистика, 2003. – 656с.
9. Крилов В. И. и др. Начала теории вычислительных методов. Интегральное
уравнение, некорректные задачи и улучшение сходимости. – Минск: Наука и техника,
1984. – 263 с.
10. Прикладные методы и программирование в численном анализе. – М.: Изд-во
Моск. ун – ту, 1985. – 185 с.
95
7. Особливість алгоритму методу Чебишова. В яких випадках рекомендують
застосовувати цей метод?
8. Особливість алгоритму методу Гаусса.
9. Особливість алгоритму методу Ньютона – Котеса. В яких випадках слід
застосовувати цей метод?
10. Як можна поставити експеримент на дослідження інтеграла, в основі якого
лежить дуже осцилююча функція типу ( 1 x 2 ) cos 1000x ?
1
з чотирма ординатами.
/2
Лекція 11
ЧИСЕЛЬНІ МЕТОДИ РОЗВ'ЯЗАННЯ ДИФЕРЕНЦІАЛЬНИХ РІВНЯНЬ
План лекції:
1. Основні визначення та поняття
2. Класифікація численних методів розв'язання задачі Коші
3. Одноточкові методи розв'язання задачі Коші на ЕОМ
4. Модифікації методу Ейлера
5. Метод Рунге–Кутта
98
y y0 , y y0 , y y0 ,..., y n 1 y0 n 1 при x x0
(9.2)
нескінчених рядів часто використовується лише декілька перших їх членів.
99
Рисунок 9.3– Класифікація чисельних методів розв'язання задачі Коші.
До одноточкових методів відносять методи, які мають певні загальні риси, такі як:
1. В основі усіх одноточкових методів лежить розклад функції в ряд Тейлора, в
якому зберігаються члени, що мають h в степені до k включно. Ціле число k називається
порядком метода. Похибка на кроці має порядок k+1.
2. Всі одноточкові методи не потребують дійсного обчислення похідних, тому що
обчислюється лише сама функція, однак можуть потребуватися її значення в деяких
проміжних точках. Це тягне за собою, звичайно, додаткові затрати часу і зусиль.
3. Для отримання інформації у новій точці, потрібно мати дані лише в попередній
точці. Цю властивість можна назвати „самостартуваням”. Властивість „самостартуваня”
дозволяє легко змінювати величину кроку h.
4. В порівнянні з одноточковими методами методи прогнозу і корекції мають ряд
особливостей:
1. Для реалізації методів прогнозу і корекції необхідно мати інформацію про
декілька попередніх точок (вони не відносяться до „самостартуючих” методів), тому для
отримання додаткової інформації доводиться застосовувати одноточковий метод. Якщо в
процесі розв’язку диференційних рівнянь методом прогнозу і корекції змінюється крок,
то звичайно тимчасово доводиться переходити до одноточкового методу.
2. Одноточкові методи і методи прогнозу і корекції забезпечують приблизно
однакову точність результатів. Однак другі на відміну від перших дозволяють лише
оцінити похибку на кроці. З цієї причини, користуючись одноточковими методами,
величину кроку h звичайно обирають трохи менше, ніж це необхідно, тому методи
прогнозу і корекції виявляються найбільш ефективними.
3. Використовуючи метод Рунге-Кутта четвертого порядку точності, на
кожному кроці доводиться обчислювати чотири значення функції, але для збіжності
методу прогнозу і корекції того ж порядку точності часто достатньо двох значень
функції. Тому методи прогнозу і корекції вимагають майже вдвічі менше машинного
100
часу, ніж методи Рунге-Кутта порівнюваної точності.
9.3 Одноточкові методи розв'язання задачі Коші на ЕОМ
Розв'язати диференційне рівняння y ' f ( x, y ) чисельним методом - це значить для
заданої послідовності аргументів x0 , x1, ..., x n і y 0 знайти такі значення y 0 , y1, ..., y n що
yi F ( xi ) (i 1, 2, ... , n) ) і F ( x0 ) y0 . Таким чином, чисельні методи дозволяють замість
отримання функції y F (x) одержати таблицю значень цієї функції для заданої
послідовності аргументів. Величина h xk xk 1 називається кроком інтегрування.
Графічно чисельний розв‘язок уявляє собою послідовність коротких прямолінійних
відрізків, якими апроксимується аналітичний розв’язок y F (x) рівняння (кусочно-
лінійна апроксимація).
Розглянемо алгоритми найбільш відомих чисельних методів.
Метод Ейлера є порівняно грубим і застосовується в основному для орієнтованих
розрахунків. Однак ідеї, покладені в основу методу Ейлера, є базовими для інших
методів.
Нехай дано диференційне рівняння першого порядку
y ' f ( x, y ) (9.3)
з початковими умовами x x0 , y ( x0 ) y0 . (9.4)
Потрібно знайти розв’язок рівняння на відрізку [ x0 , xn ] .
Розіб'ємо відрізок [ x0 , x n ] на n рівних частин і одержимо послідовність
x0 , x1 , x 2 ,..., x n , де xi x0 ih(i 0,1, 2, ..., n) , а h ( x n x0 ) / n - крок інтегрування.
101
Рисунок 9.4 – Геометричне розв’язання методом Ейлера
df df df
f M ( M const ),
dx dx dy (9.9)
104
Розіб'ємо відрізок [ a, b] на n рівних частин точками xi x0 ih (i 0,1, 2, ..., n) , де
h (b a ) / n – крок інтегрування. Сутність удосконаленого методу Ейлера полягає в
використанні ітераційної формули виду:
yi(01) yi hf ( x 1 ,y 1 )
i i
2 2 , (9.17)
2. змінна х за формулою:
h
x 1 x0
0
2
2
y x
3. визначення значення 0
1
2
при 0
1
2
h '
y 1 y0 y0
0
2
2
x
4. визначення похідної в точці ( 0
1
2
, y0 12 )
y' 1 f x 1 ,y 1
0 0 0
2 2 2
'
5. використовуємо отримане значення y0 1 для визначення y1' за формулою:
2
y1' y0 hy '
y0 hf ( x ,y )
0
1
2
0
1
2
0
1
2
,
h
6. змінюємо x1 x 1
0
2
2
7. повторюємо всі кроки алгоритму, починаючи з першого.
Графічна інтерпретація методу представлена на рисунку 9.7.
105
Рисунок 9.8 - Схема алгоритму удосконаленого метода Ейлера
106
Рисунок 9.9 – Графічна інтерпретація
107
Рисунок 9.10 - Схема алгоритму модифікованого метода Ейлера
108
Ітерації продовжуються доти, поки два послідовних наближення не збіжаться до
заданої похибки. Після цього приймається yi(k1) yi(k11) . Якщо після трьох-чотирьох
ітерацій, при обраному значенні h, збігу потрібних знаків не відбувається, то варто
зменшити крок розрахунку h.
з початковою умовою y( x0 ) y0 .
Розіб'ємо відрізок [ a, b] на п рівних частин точками xi x0 ih(i 0,1, ..., n) , де
h (b a ) / n - крок інтегрування. В методі Рунге-Кутта, так само й у методі Ейлера,
послідовні значення yі шуканої функції у визначаються по формулі
yi 1 yi yi . (9.22)
h2 h3 h 4 IV
y y( x h ) y( x ) hy( x ) y( x ) y( x ) y ( x ),
2 6 24 (9.23)
де похідні y ' ' ( x), y ' ' ' ( x ), y IV ( x) визначаються послідовним диференціюванням з
рівняння (9.4).
Замість безпосередніх обчислень по формулі (9.23) у методі Рунге-Кутта
визначаються чотири числа:
k1 hf ( x , y ),
h k
k 2 hf ( x , y 1 ),
2 2
h k
k3 hf ( x , y 2 ),
2 2
k4 hf ( x h , y k3 ). (9.24)
Можна довести, що якщо числам k1, k2, k3, k4 додати відповідно вагу 1/6; 1/3; 1/3; 1/6,
те середньозважене цих чисел, тобто
1 1 1 1
k1 k 2 k 3 k 4
6 3 3 6 (9.25)
109
Таким чином, для кожної пари поточних значень xі і yі по формулах (9.24)
визначаються значення
По формулі (9.26) знаходиться
k1( i ) hf ( xi , yi ),
h k (i )
k 2( i ) hf ( xi , yi 1 ),
2 2
h k (i )
k 3( i ) hf ( xi , yi 2 ),
2 2
k 2( i ) hf ( xi h, yi k3 .
(i )
(9.27)
і потім
yi 1 yi yi
Числа k1, k2, k3, k4 мають простий геометричний зміст. Нехай крива M0CM1 (рис. 9.11)
являє собою розв’язок диференціального рівняння (9.21) з початковою умовою (9.22).
Точка С цієї кривої лежить на прямій, рівнобіжній осі Оу і розділяючою відрізок [ xi , xi 1 ]
навпіл, В и G - точки перетинання дотичної, проведеної до кривої в точці М0, з
ординатами АС і N1M1,. Тоді число k1 з точністю до множника h (де h xi l xi ) є кутовий
1
yi ( k1( i ) 2 k2( i ) 2 k3( i ) k4( i ) )
6
коефіцієнт дотичної в точці М0 до інтегральної кривої M0CM1 тобто
k1 hyi hf ( xi , yi ).
h k1
Точка В має координати x xi , y yi . Отже число k2 з точністю до множника є
2 2
кутовий коефіцієнт дотичної, проведеної до ін тегральної кривої в точці В (BF - відрізок
цієї дотичної).
Через точку М0 проведемо пряму, рівнобіжну відрізку BF. Тоді точка D має
координати і k3 з точністю до множника h - кутовий коефіцієнт дотичної, перевіреної до
110
інтегральної кривої в точці D (DR1 - відрізок цієї дотичної). Нарешті, через точку М0
проведемо пряму, рівнобіжну DR1, що перетне продовження M1N1 у точці
R2 ( xi h; y i k 3 ) .
Тоді k4 з точністю до множника h є кутовий коефіцієнт дотичної, проведеної до
інтегральної кривої в точці R2.
Обчислення по методу Рунге-Кутта зручно розташовувати за алгоритмом,
1. Значення х0 и у0 підставляють у праву частину диференціального рівняння (9.21),
визначають f ( x, y ) .
2. Отримане значення f ( x, y ) множать на крок інтегрування h, обчислюють
k1 h f ( x , y ) .
3. Змінюють значення х0
h
x 1 x0
0
2
2
4. визначають допоміжне значення y0 д
k1
y0 д y0
2
x
5. визначення похідної в точці ( 0
1
2
, y0 д )
y0' д f x 1 , y0 д
0
2
6. визначають значення k2
k 2 h f x 1 , y0 д
0
2
9. визначають значення k3
k 3 h y0' д h f x 1 , y0 д
0
2
112
Потім всі обчислення повторюють починаючи з І кроку, доти, поки не буде
пройдений весь відрізок [a, b] .
Метод Рунге - Кутта має порядок точності h4 на усьому відрізку [a, b] . Оцінка
точності методу цього дуже складна. Грубу оцінку погрішності можна одержати за
допомогою "подвійного прорахунку" по формулі
y*i yi
| y*i y( xi ) | ,
15 (9.28)
*
де y ( xi ) - значення точного розв’язку рівняння (9.21) у точці xi , a y i i y i наближені
значення, отримані з кроком h/2 і h. Якщо ε - задана точність розв’язку, то число п (число
розподілів) для визначення кроку інтегрування h (b a) / n вибирається таким чином,
щоб
h4 (9.29)
Однак крок розрахунку можна змінювати при переході від однієї точки до іншої.
Для оцінки правильності вибору кроку h використовують рівність
k 2( i ) k3( i )
q ,
k1( i ) k 2( i ) (9.30)
1
yi ( k1( i ) 2 k 2( i ) 2k3( i ) k4( i ) ),
6
1
zi ( l1( i ) 2l2( i ) 2l3( i ) l4( i ) ),
6 (9.33)
k1( i ) hf ( xi , yi , zi ),
l1( i ) hg( xi , yi , zi );
h k( i ) l( i )
k 2( i ) hf ( xi , yi 1 , zi 1 );
2 2 2
(i ) (i)
h k l
l2( i ) hg( xi , yi 1 , zi 1 );
2 2 2
(i )
h k l( i )
k3( i ) hf ( xi , yi 2 , zi 2 );
2 2 2
(i ) (i)
h k l
l3( i ) hg( xi , yi 2 , zi 2 );
2 2 2
(i ) (i ) (i )
k4 hf ( xi h , yi k3 , zi l3 );
l4( i ) hg( xi h , yi k3( i ) , zi l3( i ) ). (9.34)
113
Тоді одержимо розв’язок системи диференційних рівнянь другого порядку:
yi 1 yi yi , zi 1 zi zi .
k1
2( y )
0
2 2 1,075
l2 h 0 ,1 0 ,13299 ;
l
( z0 ) ( x0 )
1 h 1,06667 0 ,55
2 2
k2 h
2( y0 2 ) ( x0 2 ) 2 1,07050 0 ,55
k3 h 0 ,1 0 ,14918;
l 1 ,06650
z0 2
2
k2
2 ( y )
0
2 2 1,07050
l3 h 0 ,1 0 ,13245 ;
l
( z0 ) ( x0 )
2 h 1 ,06650 0 ,55
2 2
2( y0 k 3 ) ( x0 h ) 2 1,14918 0 ,6
k4 h 0 ,1 0 ,14998;
z0 l3 1,13245
2( y0 k 3 ) 2 1,14918
l4 h 0 ,1 0 ,13266.
( z0 l3 ) ( x0 h ) 1,13245 0 ,6
Отже,
1
y0 ( 0 ,15 2 0 ,14100 2 0 ,14918 0 ,14998 ) 0 ,14672;
6
1
z0 ( 0 ,13333 2 0 ,13299 2 0 ,13245 0 ,13266 ) 0 ,13281
6
і остаточно одержуємо значення шуканих функцій у точці х = 0,6:
y1 1 0 ,14672 1,14672 ; z1 1 0 ,13281 1,13281.
Джерела інформації
115