
- •Основи чисельних методів математики (з використанням Excel) Передмова
- •Розділ 1. Методи обчислень: предмет, основні поняття та застосування
- •§ 1. Предмет і застосування
- •§ 2. Основні поняття
- •1. Похибки наближень.
- •2. Граничні похибки. Похибки функції.
- •3. Похибки розв'язку.
- •4. Стійкість і коректність.
- •Питання, тести
- •Розділ 2. Інтерполяція функцій
- •§1. Задача інтерполювання
- •§2. Інтерполяційна формула Лагранжа
- •§3. Поділені різниці. Формула Ньютона з поділеними різницями
- •§4. Інтерполяційна формула за допомогою Excel
- •§5. Інтерполювання за схемою Ейткіна
- •§6. Скінчені різниці. Інтерполяційні формули Ньютона для рівновіддалених вузлів
- •§7. Інтерполювання із скінченими різницями за допомогою Excel
- •§8. Інші методи інтерполювання
- •Питання, тести
- •Завдання
- •Розділ 3. Чисельне диференціювання та інтегрування.
- •§ 1. Однобічні формули чисельного диференціювання
- •§ 2. Оцінки похибки чисельного диференціювання
- •§ 3. Чисельне інтегрування. Квадратурні формули
- •§ 4. Квадратурні формули Ньютона – Котеса
- •§ 5. Узагальнені квадратурні формули.
- •§ 6. Метод подвійного перерахунку.
- •1. R2n ( f ) ≈ (правило Рунге) (14)
- •§ 7. Метод кратного перерахунку за допомогою Excel
- •Питання, тести
- •Завдання
- •Розділ 4. Чисельні методи розв‘язування рівнянь з однією змінною
- •§ 1. Відокремлення коренів
- •§ 2. Метод дихотомії (поділу відрізка пополам)
- •§ 3. Ітераційні методи та оператор стиску.
- •§ 4. Похибки ітераційного процесу
- •§ 5. Реалізація методу простої ітерації за допомогою електронних таблиць
- •§ 6. Метод Ньютона. Порядок збіжності ітераційного процесу.
- •§ 7. Метод лінійного інтерполювання.
- •§ 8. Інші приклади ітераційних методів.
- •Питання, тести
- •Завдання
- •Розділ 5. Методи розв’язування систем лінійних рівнянь
- •§ 1. Метод Гаусса
- •Метод Гаусса в матричній формі
- •Елементарні операції над матрицею:
- •§ 2. Метод Гаусса за допомогою Excel
- •§ 3. Матричні операції в Excel
- •3. Множення матриць.
- •§ 4. Метод простої ітерації для слр
- •§ 5. Метод Зейделя
- •Питання, тести
- •Завдання
- •Розділ 6. Методи лінійного програмування
- •§ 1. Оптимізаційні задачі. Математичне програмування
- •§ 2. Геометричний зміст задач лінійного програмування. Графічний метод
- •§3. Канонічна форма задачі лінійного програмування. Опорні розв’язки
- •§4. Симплекс – таблиця
- •§5. Симплекс – метод.
- •§6. Розв’язування задач лінійного програмування за допомогою excel
- •§7 Приклади
- •§8. Пошук початкового опорного розв’язку. Метод штучного базису
- •Властивості допоміжної задачі.
- •Питання, тести
- •Завдання
- •Розділ 7. Чисельні методи розв’язування звичайних диференціальних рівнянь
- •§ 1. Метод Ейлера
- •§ 2. Метод Ейлера за допомогою Excel
- •§ 3. Методи Рунге – Кутта
- •§ 4. Подвійний перерахунок для методів Рунге – Кутта
- •§ 5. Кратний перерахунок для методів Рунге – Кутта за допомогою Excel
- •§ 6. Методи Рунге – Кутта з вищими порядками похибки
- •Питання, тести
- •Завдання
- •Іменний покажчик
- •Предметний покажчик
- •Література
§4. Інтерполяційна формула за допомогою Excel
Означення 6. Якщо функція f(x) задана у точках x0, x1,… , xn , то таблицю
f(x0) |
f(x0; x1) |
f(x0; x1; x2) |
f(x0; x1; x2; x3) |
… |
f(x0; x1;… ; xn) |
f(x1) |
f(x1; x2) |
f(x1; x2; x3) |
f(x1; x2; x3; x4) |
… |
|
f(x2) |
f(x2; x3) |
f(x2; x3; x4) |
f(x2; x3; x4; x5) |
|
|
… |
… |
… |
|
|
|
f(xn-2) |
f(xn-2; xn-1) |
f(xn-2; xn-1; xn) |
|
|
|
f(xn-1) |
f(xn-1; xn) |
|
|
|
|
f(xn) |
|
|
|
|
|
називають таблицею її поділених різниць.
Задача 1. Знайти для функції f, заданої таблицею
i |
0 |
1 |
2 |
3 |
4 |
xi |
0,45 |
0,32 |
0,79 |
0,51 |
0,64 |
yi |
0,434966 |
0,314567 |
0,710353 |
0,488177 |
0,597195 |
її поділені різниці f(x2; x3; x4), f(x1; x2; x3; x4), f(x0; x1; x2; x3; x4; x5).
Розв’язання. Побудуємо таблицю поділених різниць, звідки й отримаємо шукані значення. Спочатку дістанемо таблицю різниць вузлів інтерполяції xj – xi , на які треба ділити поділені різниці. Надамо чарункам електронної таблиці таких значень:
|
A |
B |
C |
D |
E |
F |
1 |
|
xi |
1 |
2 |
3 |
4 |
2 |
х0 |
0,45 |
= В3 – В2 |
= В4 – В2 |
= В5 – В2 |
= В6 – В2 |
3 |
х1 |
0,32 |
↓ |
↓ |
↓ |
|
4 |
х2 |
0,79 |
↓ |
↓ |
|
|
5 |
х3 |
0,51 |
↓ |
|
|
|
6 |
х4 |
0,64 |
|
|
|
|
Як і раніше, символ ↓ означає копіювання попередніх чарунок. Тут у рядку вузла інтерполяції xi завжди віднімається саме xi , а число у заголовку стовпця дорівнює j – i. В результаті отримаємо таку трикутну таблицю:
|
A |
B |
C |
D |
E |
F |
1 |
|
xi |
1 |
2 |
3 |
4 |
2 |
х0 |
0,45 |
-0,13 |
0,34 |
0,06 |
0,19 |
3 |
х1 |
0,32 |
0,47 |
0,19 |
0,32 |
|
4 |
х2 |
0,79 |
-0,28 |
-0,15 |
|
|
5 |
х3 |
0,51 |
0,13 |
|
|
|
6 |
х4 |
0,64 |
|
|
|
|
Використовуючи цю таблицю, побудуємо тепер трикутну електронну таблицю поділених різниць. Надамо чарункам таких значень:
|
A |
B |
C |
D |
E |
F |
9 |
|
0 |
1 |
2 |
3 |
4 |
10 |
х0 |
0,434966 |
=(B11 – B10)/C2 |
→ |
→ |
→ |
11 |
х1 |
0,314567 |
↓ |
↓ |
↓ |
|
12 |
х2 |
0,710353 |
↓ |
↓ |
|
|
13 |
х3 |
0,488177 |
↓ |
|
|
|
14 |
х4 |
0,597195 |
|
|
|
|
У стовпці B тут значення функції f, задані умовою задачі. Правила копіювання Excel дозволяють отримати у відповідних чарунках саме ті формули, які повинні там бути згідно з попереднім означенням. В результаті отримаємо таблицю:
|
A |
B |
C |
D |
E |
F |
9 |
|
0 |
1 |
2 |
3 |
4 |
10 |
х0 |
0,434966 |
0,926146 |
-0,2472 |
-0,14442 |
0,021447 |
11 |
х1 |
0,314567 |
0,842099 |
-0,25586 |
-0,14034 |
|
12 |
х2 |
0,710353 |
0,793486 |
-0,30077 |
|
|
13 |
х3 |
0,488177 |
0,838601 |
|
|
|
14 |
х4 |
0,597195 |
|
|
|
|
Тут число у заголовку стовпця дорівнює порядку поділеної різниці. У кожному рядку у формулах поділених різниць вузли інтерполяції починаються з того, що знаходиться у заголовку рядка. Так f(x2; x3; x4) є різницею порядку 2 і її формула починається з x2; отже, ця різниця знаходиться у чарунці D12 і дорівнює – 0,30077. Аналогічно f(x1; x2; x3; x4) = – 0,14034 і знаходиться у чарунці Е11; f(x0; x1; x2; x3; x4) = 0,021447 у чарунці F10. Зазначимо, що скажімо поділеної різниці f(x1; x2; x4; x5) нема у цій таблиці: у цій формулі вузли інтерполяції не ідуть підряд, пропущений вузол x3. Щоби отримати таку різницю треба будувати іншу таблицю.
Задача 2. Побудувати інтерполяційний многочлен Ньютона з поділеними різницями для функції f, заданої попередньою таблицею, і знайти наближене значення функції в точці х = 0,58.
Розв’язання. Спочатку покажемо дещо інший метод побудови таблиці поділених різниць. Цей спосіб виявиться доречним для таблиць великих за розміром: він дозволяє уникнути введення рядка формул, як в попередньому випадку. Отже, перш за все занесемо дані вузли інтерполяції у рядок в діапазоні E1:I1, а далі скопіюємо його, починаючи з чарунок D2, C3, B4, A5. В результаті отримаємо таблицю:
|
A |
B |
C |
D |
E |
F |
G |
H |
I |
1 |
|
|
|
|
0,45 |
0,32 |
0,79 |
0,51 |
0,64 |
2 |
|
|
|
0,45 |
0,32 |
0,79 |
0,51 |
0,64 |
|
3 |
|
|
0,45 |
0,32 |
0,79 |
0,51 |
0,64 |
|
|
4 |
|
0,45 |
0,32 |
0,79 |
0,51 |
0,64 |
|
|
|
5 |
0,45 |
0,32 |
0,79 |
0,51 |
0,64 |
|
|
|
|
Далі отриманий таким чином стовпець вузлів інтерполяції Е1:Е5 скопіюємо, починаючи з чарунок А7:Е7 так, що дістанемо таблицю:
|
A |
B |
C |
D |
E |
7 |
0,45 |
0,45 |
0,45 |
0,45 |
0,45 |
8 |
0,32 |
0,32 |
0,32 |
0,32 |
0,32 |
9 |
0,79 |
0,79 |
0,79 |
0,79 |
0,79 |
10 |
0,51 |
0,51 |
0,51 |
0,51 |
0,51 |
11 |
0,64 |
0,64 |
0,64 |
0,64 |
0,64 |
Нарешті ці дві таблиці вузлів інтерполяції використаємо для побудови таблиці поділених різниць. Надамо чарункам таких значень:
|
A |
B |
C |
D |
E |
F |
13 |
|
0 |
1 |
2 |
3 |
4 |
14 |
х0 |
0,434966 |
=(B15 – B14)/(F1 – A7) |
→ |
→ |
→ |
15 |
х1 |
0,314567 |
↓ |
→ |
→ |
|
16 |
х2 |
0,710353 |
↓ |
→ |
|
|
17 |
х3 |
0,488177 |
↓ |
|
|
|
18 |
х4 |
0,597195 |
|
|
|
|
Правила копіювання Excel дозволяють отримати у відповідних чарунках саме ті формули, які повинні там бути: заголовок рядка вказує на вузол, який віднімається у знаменнику, а число у заголовку стовпця дорівнює різниці між номерами вузлів, що віднімаються. Так, наприклад, у чарунці D15 у знаменнику дістанемо х3 – х1 . Отже, в результаті дістанемо ту саму таблицю поділених різниць, що і в попередній задачі:
|
A |
B |
C |
D |
E |
F |
13 |
|
0 |
1 |
2 |
3 |
4 |
14 |
х0 |
0,434966 |
0,926146 |
-0,2472 |
-0,14442 |
0,021447 |
15 |
х1 |
0,314567 |
0,842099 |
-0,25586 |
-0,14034 |
|
16 |
х2 |
0,710353 |
0,793486 |
-0,30077 |
|
|
17 |
х3 |
0,488177 |
0,838601 |
|
|
|
18 |
х4 |
0,597195 |
|
|
|
|
На цей раз потрібно по – перше виписати інтерполяційну формулу Ньютона:
f(x) ≈ f(x0) + f(x0; x1)(х – х0) + … + f(x0; x1;… ; xn)(х – x0)(х – x1) … (х – хn-1) .
Оскільки за результатами розрахунків f(x0) = 0,434966, f(x0; x1) = 0,926146, f(x0; x1; x2) = – 0,2472, f(x0; x1; x2; x3) = – 0,14442, f(x0; x1; x2; x3; x4) = 0,021447, то f(x) ≈ 0,434966 + 0,926146(х – 0,45) – 0,2472(х – 0,45)(х – 0,32) – 0,14442(х – 0,45)(х – 0,32)(х – 0,79) + 0,021447(х – 0,45)(х – 0,32)(х – 0,79)(х – 0,51).
По – друге, треба знайти наближене значення функції в точці х = 0,58. Ці розрахунки можна виконати за допомогою наступної електронної таблиці:
|
A |
B |
C |
D |
E |
19 |
=$А$21 – A5 |
→ |
→ |
→ |
→ |
20 |
1 |
= A20*A19 |
→ |
→ |
→ |
21 |
0,58 |
=СУММПРОИЗВ(A20:E20;A14:E14) |
|
|
|
Тут у рядку 19 підраховуються значення у дужках (х – хi) (i = 0,1,2,3,4); у рядку 20 множники на відповідні поділені різниці у формулі Ньютона; у чарунці В21 шукане наближене значення f(0,58). В результаті отримаємо:
|
A |
B |
C |
D |
E |
19 |
0,13 |
0,26 |
-0,21 |
0,07 |
-0,06 |
20 |
1 |
0,13 |
0,0338 |
-0,0071 |
-0,0005 |
21 |
0,58 |
0,548024 |
|
|
|
Отже, f(0,58) ≈ 0,548024.
Задача 3. Додати до таблиці задачі 1 ще один вузол х5 = 0,49 із значенням функції y5 = f(0, 49) = 0,470626 і побудувати інтерполяційний многочлен Ньютона з поділеними різницями для функції f, заданої такою таблицею.
Розв’язання. Після додавання нового вузла маємо таку таблицю:
i |
0 |
1 |
2 |
3 |
4 |
5 |
xi |
0,45 |
0,32 |
0,79 |
0,51 |
0,64 |
0,49 |
yi |
0,434966 |
0,314567 |
0,710353 |
0,488177 |
0,597195 |
0,470626 |
Побудуємо таблицю поділених різниць, звідки отримаємо значення, за якими випишемо інтерполяційний многочлен Ньютона, як у задачі 2. Зазначимо головне: на відміну від інтерполяційного многочлена у формі Лагранжа тут нема потреби будувати все спочатку, можна дописати відповідні рядки та стовпці до уже отриманих таблиць, а потім дописати останній доданок до уже отриманого у задачі 2 інтерполяційного многочлена. Отже, спочатку додамо останні рядок і стовпець до таблиці різниць вузлів інтерполяції xj – xi і продовжимо копіювання на нову діагональ такої трикутної таблиці:
|
A |
B |
C |
D |
E |
F |
G |
1 |
|
xi |
1 |
2 |
3 |
4 |
5 |
2 |
х0 |
0,45 |
=В3 – В2 |
=В4 – В2 |
=В5 – В2 |
=В6 – В2 |
=В7 – В2 |
3 |
х1 |
0,32 |
↓ |
↓ |
↓ |
↓ |
|
4 |
х2 |
0,79 |
↓ |
↓ |
↓ |
|
|
5 |
х3 |
0,51 |
↓ |
↓ |
|
|
|
6 |
х4 |
0,64 |
↓ |
|
|
|
|
7 |
х5 |
0,49 |
|
|
|
|
|
В результаті отримаємо:
|
A |
B |
C |
D |
E |
F |
G |
1 |
|
xi |
1 |
2 |
3 |
4 |
|
2 |
х0 |
0,45 |
-0,13 |
0,34 |
0,06 |
0,19 |
0,04 |
3 |
х1 |
0,32 |
0,47 |
0,19 |
0,32 |
0,17 |
|
4 |
х2 |
0,79 |
-0,28 |
-0,15 |
-0,3 |
|
|
5 |
х3 |
0,51 |
0,13 |
-0,02 |
|
|
|
6 |
х4 |
0,64 |
-0,15 |
|
|
|
|
7 |
x5 |
0,49 |
|
|
|
|
|
Тут також виявились додані рядок, стовпець і діагональ до таблиці задачі 1. Так само
|
A |
B |
C |
D |
E |
F |
G |
9 |
|
0 |
1 |
2 |
3 |
4 |
5 |
10 |
х0 |
0,434966 |
=(B11 – B10)/C2 |
→ |
→ |
→ |
→ |
11 |
х1 |
0,314567 |
↓ |
↓ |
↓ |
↓ |
|
12 |
х2 |
0,710353 |
↓ |
↓ |
↓ |
|
|
13 |
х3 |
0,488177 |
↓ |
↓ |
|
|
|
14 |
х4 |
0,597195 |
↓ |
|
|
|
|
15 |
х5 |
0,470626 |
|
|
|
|
|
додамо рядок і стовпець і продовжимо копіювання на нову діагональ для електронної трикутної таблиці поділених різниць. Відповідні значення чарунок наведені вище. В результаті отримаємо:
-
A
B
C
D
E
F
G
9
0
1
2
3
4
5
10
х0
0,434966
0,926146
-0,2472
-0,14442
0,021447
0,007165
11
х1
0,314567
0,842099
-0,25586
-0,14034
0,021734
12
х2
0,710353
0,793486
-0,30077
-0,13665
13
х3
0,488177
0,838601
-0,25978
14
х4
0,597195
0,843797
15
х5
0,470626
У порівнянні з таблицею поділених різниць задачі 1 тут додатково підрахована поділена різниця порядку 5 f(x0; x1; x2; x3; x4; х5) = 0,007165. Отже, інтерполяційна формула Ньютона набуває вигляду: f(x) ≈ 0,434966 + 0,926146(х – 0,45) – 0,2472(х – 0,45)(х – 0,32) – 0,14442(х – 0,45)(х – 0,32)(х – 0,79) + 0,021447(х – 0,45)(х – 0,32)(х – 0,79)(х – 0,51) + 0,007165(х – 0,45)(х – 0,32)(х – 0,79)(х – 0,51)(х – 0,64). Задачу розв’язано.
Тепер дізнаємось, що значення функції f(x) у вузлах інтерполяції задачі 1 не були випадковими – насправді це значення функції sin x у відповідних точках. Функція sin x диференційовна довільне число раз; отже, для оцінки її похибки можна застосувати теорему 1: похибка інтерполяції Rn(f, x) = f(x) – Ln(x) = ωn+1(х), де ξ = ξ(x), min{x0; x1;… ; xn} ≤ ξ ≤ max{x0; x1;… ; xn}, ωn+1(х) = (x – x0)(x – x1)…(x – xn).
Задача 4. Оцінити похибку, з якою значення f(0,58) = sin 0,58 отримане у задачі 2. Скільки вузлів інтерполяції xi треба застосувати, для того, щоби отримати це значення з точністю п’ятизначних математичних таблиць Брадіса.
Розв’язання. Тут f(x) = sin x, х = 0,58, n = 4, вузли інтерполяції xi (i = 0,1,2,3,4) задані таблицею задачі 1. Значення ω5(х) = (х – x0)(х – x1) … (х – х4) підрахуємо так само, як в задачі 2, у такій електронній таблиці:
|
A |
B |
C |
D |
E |
F |
1 |
х0 |
х1 |
х2 |
х3 |
х4 |
x |
2 |
0,45 |
0,32 |
0,79 |
0,51 |
0,64 |
0,58 |
3 |
= A2 – $F$2 |
→ |
→ |
→ |
→ |
|
4 |
= A3 |
=A4*B3 |
→ |
→ |
→ |
|
Тут у рядку 2 значення вузлів інтерполяції xi і х = 0,58, у рядку 3 підраховуються (х – хi) (i = 0,1,2,3,4), у рядку 4 їх добутки ωn(х); зокрема ω5(х) отримаємо у чарунку E3. Маємо:
|
A |
B |
C |
D |
E |
F |
1 |
x0 |
x1 |
x2 |
x3 |
x4 |
x |
2 |
0,45 |
0,32 |
0,79 |
0,51 |
0,64 |
0,58 |
3 |
-0,13 |
-0,26 |
0,21 |
-0,07 |
0,06 |
|
4 |
-0,13 |
0,0338 |
0,007098 |
-0,0005 |
-3E-05 |
|
Отже, ω5(х) ≈ – 3∙10-5. Таблиця для підрахунку 1/n! наступна
|
A |
B |
C |
D |
E |
6 |
1 |
2 |
3 |
4 |
5 |
7 |
1 |
= А7*В6 |
→ |
→ |
→ |
8 |
= 1/А7 |
→ |
→ |
→ |
→ |
В результаті дістанемо
|
A |
B |
C |
D |
E |
6 |
1 |
2 |
3 |
4 |
5 |
7 |
1 |
2 |
6 |
24 |
120 |
8 |
1 |
0,5 |
0,166667 |
0,041667 |
0,008333 |
Далі
тут │f
(n+1)(x)│=│sin(5)(x)│=│cos
x│≤ 1. Отже, абсолютна
похибка наближення для sin
0,58 тут │R4(f,
x)│=│
f(x) –
L4(x)│=
│
ω5(х)│=
│ω5(х)│≤
│ω5(х)│≈
0,008333∙3∙10-5
≈ 2,4843∙10-7.
Таким чином наближення sin
0,58 ≈ 0,548024 має всі 6 вірних значущих цифр.
Чи можна
зменшити кількість вузлів, якщо нам
потрібні лише 5 вірних значущих цифр?
Підрахуємо абсолютну
похибку наближення │R3(f,
x)│=│
f(x) –
L3(x)│
≤
│ω4(х)│≈
0,041667 ∙ 0,0005 ≈ 2,1∙10-5.
Отже, при такій абсолютній похибці
наближення для sin
0,58 буде мати лише 4 значущі цифри. Для
отримання 5 значущих цифр треба застосувати
всі 5 вузлів інтерполяції з таблиці
задачі 1.
Зауважимо, що обчислювальна похибка, як і завжди, пропорційна кількості операцій, яка тут пропорційна n2, де n – кількість вузлів інтерполяції. (Це легко випливає з вигляду інтерполяційного многочлена як у формі Лагранжа, так і у формі Ньютона). Проте це n, як у наведених вище прикладах, так і звичайно завжди не буває таким великим, щоби суттєво вплинути на результат, тобто за величиною зрівнятись з похибкою метода, оцінюваною у теоремах 1 і 2. Отже, на відміну від ітераційних методів при інтерполюванні похибкою обчислень звичайно нехтують.