
- •Основи чисельних методів математики (з використанням 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. Методи Рунге – Кутта з вищими порядками похибки
- •Питання, тести
- •Завдання
- •Іменний покажчик
- •Предметний покажчик
- •Література
§5. Інтерполювання за схемою Ейткіна
Якщо значення інтерполяційного многочлена треба обчислити лише в одній заданій точці, то немає потреби будувати самий многочлен. Звичайно для розв’язання такої задачі застосовують наступну інтерполяційну схему Ейткіна.
Нехай функцію f(x), яка в точках xi набуває значень уi = f(xi) (і = 0, 1, …, n) задано таблично. Треба обчислити її значення в точці х є [x0 ; xn], яка не збігається з вузлами інтерполяції xi. Нехай L(k,k+1,…,i)(x) – це інтерполяційний многочлен з вузлами інтерполяції xk, xk+1,…, xi , зокрема L(k)(x) = f(xk). Має місце рівність
L(k,k+1,…,i+1)(x)
=
(2).
Справді, права частина цієї рівності є многочленом степеня i – k + 1 і співпадає з f(x) у i – k + 2 точках xk, …, xi+1. Схема Ейткіна обчислення значення Ln(x) = L(0,1,…,n)(x) полягає у послідовних підрахунках за допомогою попередньої формули елементів наступної таблиці значень інтерполяційного многочлена.
L(0)(x) |
L(0,1)(x) |
L(0,1,2)(x) |
… |
L(0,1,…,n)(x) |
L(1)(x) |
L(1,2)(x) |
… |
… |
|
L(2)(x) |
… |
… |
… |
|
… |
… |
… |
|
|
L(n-1)(x) |
L(n-1,n)(x) |
|
|
|
L(n)(x) |
|
|
|
|
Оцінка
похибки значення Ln(x)
заснована на теоремі 2. Згідно з пунктом
1 цієї теореми абсолютна похибка
інтерполювання Rn(f,x)
= f(x)
– Ln(x)
= f(х;
x0;
x1;…
; xn)ωn+1(х);
згідно з пунктом 2 Ln+1(x)
– Ln(x)
= f(x0;
x1;…;
xn+1)ωn+1(х).
Нарешті згідно з пунктом 4,
якщо функція
f(x)
n + 1 раз неперервно
диференційовна, то f(х;
x0;
x1;…
; xn)
=
, де
min{x0;x1;…;xn}
≤ ξ ≤
max{x0;x1;…;xn}.
Звідси, якщо величини │xi
– х│ достатньо малі, то f(х;
x0;
x1;…
; xn)
≈
≈ f(x0;
x1;…;
xn+1).
Отже, Ln+1(x)
– Ln(x)
≈ f(x) –
Ln(x)
= Rn(f,x).
Тому величину εm
= Lm+1(x)
– Lm(x)
можна розглядати, як наближену оцінку
абсолютної похибки Rm(f,x)
інтерполяційної формули f(x)
≈ Lm(x).
Не важко довести, що заміна Rm(f,x)
на εm =
Lm+1(x)
– Lm(x)
є тут коректною за умови,
що │
ωm+1(х)│<
│εm│.
Нехай
вузли інтерполяції xi
занумеровані в порядку зростання │xi
– х│. Послідовно підраховують L0(x),
L1(x),
ε0,
L2(x),
ε1,
… . Якщо при деякому m
εm
≤ Е, де Е – точність, яка нас задовольняє,
то підрахунки закінчуються і вважають,
що f(x)
≈ Lm(x).
Якщо нерівність εm
≤ Е не виконується при жодному m,
то знаходять
=
і вважають, що f(x)
≈
з оцінкою похибки
.
Оскільки значення │xi
– х│ послідовно зростають, то і εm
, починаючи з деякого m
можуть мати сталу тенденцію до зростання.
Якщо так сталося, то з такого
m
підрахунки
Lm(x)
і εm
припиняють.
Задача. За схемою Ейткіна обчислити значення функції e2,72 з табличною точністю, якщо функція задана наступною таблицею. Обчислити це значення з точністю 10 вірних значущих цифр.
I |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
xi |
1,85 |
2,09 |
2,15 |
2,44 |
2,63 |
2,75 |
2,89 |
3,12 |
yi |
6,35982 |
8,08491 |
8,58486 |
11,4730 |
13,8738 |
15,6426 |
17,9933 |
22,6464 |
Розв’язання. Спочатку згідно з цією схемою перенумеруємо вузли інтерполяції xi в порядку зростання │х – xi│, де х = 2,72:
i |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
xi |
2,75 |
2,63 |
2,89 |
2,44 |
3,12 |
2,15 |
2,09 |
1,85 |
yi |
15,6426 |
13,8738 |
17,9933 |
11,4730 |
22,6464 |
8,58486 |
8,08491 |
6,35982 |
х – xi |
– 0,03 |
0,09 |
– 0,17 |
0,28 |
– 0,4 |
0,57 |
0,63 |
0,87 |
Побудуємо електронну таблицю для підрахунків за схемою Ейткіна (схожу на таблицю, яка була використана в попередньому параграфі). Надамо чарункам таких значень:
|
A |
B |
C |
D |
1 |
х0 |
– 0,03 |
15,6426 |
= (C2*B1 – C1*B2)/(B1 – B2) |
2 |
х1 |
0,09 |
13,8738 |
|
3 |
х2 |
– 0,17 |
17,99331 |
|
… |
… |
… |
… |
|
8 |
х7 |
0,87 |
6,35982 |
|
9 |
|
|
ε = |
= D1 – C1 |
Тут
у стовпці В значення х
– xi,
у стовпці С відповідні значення yi
=
=
f(xi)
= L(i)(x).
У чарунці D1 формула
визначає L1(х)
= L(0,1)(х)
згідно з формулою (2). У чарунці D9
обчислюємо похибку ε0
. В результаті дістанемо:
|
A |
B |
C |
D |
1 |
x0 |
-0,03 |
15,6426 |
15,20041 |
2 |
x1 |
0,09 |
13,8738 |
|
3 |
x2 |
-0,17 |
17,9933 |
|
4 |
x3 |
0,28 |
11,4730 |
|
5 |
x4 |
-0,4 |
22,6464 |
|
6 |
x5 |
0,57 |
8,58486 |
|
7 |
x6 |
0,63 |
8,08491 |
|
8 |
x7 |
0,87 |
6,35982 |
|
9 |
|
|
ε = |
-0,44221 |
Оскільки ε0 = – 0,4422155, то отримане значення L1(2,72) = 15,20041 має тільки 2 вірні значущі цифри замість 6 потрібних. Тому зробимо другий крок схеми Ейткіна, як указано у наступній таблиці, а саме: 1) підрахуємо значення всіх многочленів другого степеня L(k,k+1)(x) при х = 2,72, просто скопіювавши формулу з D1 у діапазон D2:D7; 2) у чарунку E1 запишемо формулу для підрахунку L2(х) = L(0,1,2)(х) згідно з формулою (2); 3) знайдемо
|
A |
B |
C |
D |
E |
1 |
х0 |
– 0,03 |
15,6426 |
= (C2*B1 – C1*B2)/(B1 – B2) |
= (D2*B1 – D1*B3)/(B1 – B3) |
2 |
х1 |
0,09 |
13,8738 |
↓ |
|
3 |
х2 |
– 0,17 |
17,99331 |
↓ |
|
… |
… |
… |
… |
↓ |
|
8 |
х7 |
0,87 |
6,35982 |
|
|
9 |
|
|
ε = |
= D1 – C1 |
→ |
у чарунці Е9 похибку ε1 , просто скопіювавши формулу з D9. В результаті дістанемо:
|
A |
B |
C |
D |
E |
1 |
x0 |
-0,03 |
15,64263 |
15,20042 |
15,17913 |
2 |
x1 |
0,09 |
13,87377 |
15,29976 |
|
3 |
x2 |
-0,17 |
17,99331 |
15,5301 |
|
4 |
x3 |
0,28 |
11,47304 |
16,07383 |
|
5 |
x4 |
-0,4 |
22,64638 |
16,84781 |
|
6 |
x5 |
0,57 |
8,584858 |
13,33432 |
|
7 |
x6 |
0,63 |
8,084915 |
12,61329 |
|
8 |
x7 |
0,87 |
6,35982 |
|
|
9 |
|
|
ε = |
-0,44222 |
-0,02128 |
Як бачимо, отримане значення L2(2,72) = 15,17913 має лише 3 вірні значущі цифри. Отже, потрібним є третій крок схеми: 1) скопіюємо з Е1 у діапазон Е2:Е6, підрахувавши тим
|
A |
B |
C |
D |
E |
F |
1 |
х0 |
– 0,03 |
15,6426 |
15,2004 |
15,17913 |
= (E2*$B1 – E1*$B4)/($B1 – $B4) |
2 |
х1 |
0,09 |
13,8738 |
15,2997 |
↓ |
|
3 |
х2 |
– 0,17 |
17,99331 |
15,5301 |
↓ |
|
… |
… |
… |
… |
… |
|
|
8 |
х7 |
0,87 |
6,35982 |
|
|
|
9 |
|
|
ε = |
-0,44222 |
→ |
→ |
самим значення всіх многочленів третього степеня L(k,k+1,k+2)(x) при х = 2,72; 2) у чарунку F1 запишемо формулу для підрахунку L3(х) = L(0,1,2,3)(х) згідно з (2); 3) скопіюємо формулу з Е9 у F9, тим самим підрахувавши похибку ε2 . В результаті дістанемо:
|
A |
B |
C |
D |
E |
F |
1 |
x0 |
-0,03 |
15,64263 |
15,20042 |
15,17913 |
15,18024 |
2 |
x1 |
0,09 |
13,87377 |
15,29976 |
15,19066 |
|
3 |
x2 |
-0,17 |
17,99331 |
15,5301 |
15,12821 |
|
4 |
x3 |
0,28 |
11,47304 |
16,07383 |
15,32653 |
|
5 |
x4 |
-0,4 |
22,64638 |
16,84781 |
15,48335 |
|
6 |
x5 |
0,57 |
8,584858 |
13,33432 |
14,70427 |
|
7 |
x6 |
0,63 |
8,084915 |
12,61329 |
|
|
8 |
x7 |
0,87 |
6,35982 |
|
|
|
9 |
|
|
ε = |
-0,44222 |
-0,02128 |
0,001116 |
Тут уже L3(х) = 15,18024 має 4 вірні значущі цифри, тобто потрібен ще крок. Зазначимо, що формула у чарунку F1 введена дещо по – іншому: адреса стовпця В тут є абсолютною. Якщо тепер скопіювати цю формулу у G1, то за правилами копіювання у Excel дістанемо G1 = (F2*$B4 – F1*$B2)/($B1 – $B4). Насправді ж згідно з (2) формула для підрахунку L4(х) = L(0,1,2,3,4)(х) виглядає так: G1 = (F2*$B5 – F1*$B2)/($B1 – $B5). Отже, достатньо для отримання правильної формули після копіювання виділити чарунку G1, підвести курсор у рядок формул Excel і виправити у відповідній формулі 4 на 5. Решта дій на четвертому кроці та ж сама:
|
A |
B |
C |
D |
E |
F |
G |
1 |
х0 |
– 0,03 |
15,6426 |
15,2004 |
15,17913 |
15,17913 |
→ і виправити 4 на 5 |
2 |
х1 |
0,09 |
13,8738 |
15,2997 |
15,19066 |
↓ |
|
3 |
х2 |
– 0,17 |
17,9933 |
15,5301 |
15,12821 |
↓ |
|
… |
… |
… |
… |
… |
… |
|
|
8 |
х7 |
0,87 |
6,35982 |
|
|
|
|
9 |
|
|
ε = |
– 0,44222 |
– 0,02128 |
0,001116 |
→ |
В результаті отримаємо:
-
A
B
C
D
E
F
G
1
x0
-0,03
15,64263
15,20042
15,17913
15,18024
15,18033
2
x1
0,09
13,87377
15,29976
15,19066
15,17919
3
x2
-0,17
17,99331
15,5301
15,12821
15,17377
4
x3
0,28
11,47304
16,07383
15,32653
15,20107
5
x4
-0,4
22,64638
16,84781
15,48335
15,23797
6
x5
0,57
8,584858
13,33432
14,70427
7
x6
0,63
8,084915
12,61329
8
x7
0,87
6,35982
9
ε =
-0,44222
-0,02128
0,001116
8,55E-05
Отримане значення L4(х) = 15,18033 тепер має 6 вірних значущих цифр, що відповідає точності табличних даних: отже, це відповідь на перше питання. Для обчислення f(2,72) = e2,72 з точністю 10-10 необхідні ще кроки, які ми проведемо так само, як і попередній:
|
A |
B |
C |
D |
E |
F |
G |
H |
1 |
х0 |
– 0,03 |
15,6426 |
15,2004 |
15,17913 |
15,17913 |
15,2379 |
→ |
2 |
х1 |
0,09 |
13,8738 |
15,2997 |
15,19066 |
15,17919 |
↓ |
|
3 |
х2 |
– 0,17 |
17,9933 |
15,5301 |
15,12821 |
15,17377 |
↓ |
|
… |
… |
… |
… |
… |
… |
|
|
|
8 |
х7 |
0,87 |
6,35982 |
|
|
|
|
|
9 |
|
|
ε = |
– 0,44222 |
– 0,02128 |
0,001116 |
8,55E-05 |
→ |
У чарунці H1 треба після копіювання виправити у відповідній формулі 5 на 6. В результаті
-
A
B
C
D
E
F
G
H
1
x0
-0,03
15,64263
15,20042
15,17913
15,18024
15,18033
15,18032
2
x1
0,09
13,87377
15,29976
15,19066
15,17919
15,18021
3
x2
-0,17
17,99331
15,5301
15,12821
15,17377
15,17957
4
x3
0,28
11,47304
16,07383
15,32653
15,20107
15,18356
5
x4
-0,4
22,64638
16,84781
15,48335
15,23797
6
x5
0,57
8,584858
13,33432
14,70427
7
x6
0,63
8,084915
12,61329
8
x7
0,87
6,35982
9
ε =
-0,44222
-0,02128
0,001116
8,55E-05
-6,2E-06
Значення L5(х) = 15,18032 уже має всі 7 вірних значущих цифр. Максимально можна ще зробити 2 кроки так само, як попередні, і отримати значення L7(х):
|
A |
B |
C |
D |
E |
F |
G |
H |
I |
J |
1 |
x0 |
-0,03 |
15,64263 |
15,20042 |
15,17913 |
15,18024 |
15,18033 |
15,18032 |
15,18032 |
15,18032 |
2 |
x1 |
0,09 |
13,87377 |
15,29976 |
15,19066 |
15,17919 |
15,18021 |
15,18031 |
15,18032 |
|
3 |
x2 |
-0,17 |
17,99331 |
15,5301 |
15,12821 |
15,17377 |
15,17957 |
15,18022 |
|
|
4 |
x3 |
0,28 |
11,47304 |
16,07383 |
15,32653 |
15,20107 |
15,18356 |
|
|
|
5 |
x4 |
-0,4 |
22,64638 |
16,84781 |
15,48335 |
15,23797 |
|
|
|
|
6 |
x5 |
0,57 |
8,584858 |
13,33432 |
14,70427 |
|
|
|
|
|
7 |
x6 |
0,63 |
8,084915 |
12,61329 |
|
|
|
|
|
|
8 |
x7 |
0,87 |
6,35982 |
|
|
|
|
|
|
|
9 |
|
|
ε = |
-0,44222 |
-0,02128 |
0,001116 |
8,55E-05 |
-6,2E-06 |
-5,4E-07 |
-4,5E-08 |
Отже, значення L7(х) має 9 вірних значущих цифр. Щоби їх побачити треба розсунути стовпець J , маємо L7(х) ≈ 15,1803222. Досягти 10 вірних значущих цифр принципово не можливо при даних задачі. Тому за схемою Ейткіна вважаємо, що e2,72 ≈ 15,1803222 з оцінкою похибки ε6 = 4,5E-08. Задачу закінчено.
Зазначимо,
що як вибір кількості n
вузлів інтерполювання,
так і спосіб їх упорядкування насправді
не є оптимальними. Як видно з теореми
1, похибка інтерполяції Rn(f,
x) =
f(x)
– Ln(x)
=
ωn+1(х),
де ωn+1(х)
= (x – x0)(x
– x1)…(x
– xn),
ξ
= ξ(x),
min{x0;
x1;…
; xn}
= a ≤ ξ ≤ b
= max{x0;
x1;…
; xn}
є добутком двох множників. Якщо відстані
│х – xi│
між х та всіма вузлами інтерполювання
достатньо малі, то на множник
вибір кількості n вузлів
інтерполювання і спосіб їх упорядкування
не впливає суттєво. Отже, вирішальне
значення тут має множник ωn+1(х).
П. Л. Чебишов
довів, що величина
має найменше
значення, якщо вузлами інтерполювання
є числа
хk
=
,
де
ξk
=
(k = 0,1,…,n) – це нулі так
званого многочлена Чебишова
Tn+1(t),
Tn+1(t)
= cos((n+1)arccos t).
Вони дійсні, різні, належать (– 1 ; 1) і
згущаються біля кінців інтервалу із
зростанням n.
За такого вибору вузлів │ωn+1(х)│
≤ 2
.
Проте навіть звідси не випливає, що при
достатньо малому b – a
абсолютна похибка
інтерполяції Rn(f,x)
буде збігатися до нуля із зростанням
n.