–PAGE_BREAK–
1.4 Обернена інтерполяція
Нехай функція задана таблицею. Задача зворотної інтерполяції полягає в тому, щоб по заданому значенню функції визначити відповідне значення аргументу .
Якщо вузли інтерполяції нерівновіддалені, задача легко вирішується за допомогою інтерполяційної формули Лагранжа (5). Для цього достатньо прийняти за незалежну змінну, а вважати функцією. Тоді отримаємо
, (9)
Розглянемо тепер задачу оберненої інтерполяції для випадку рівновіддалених вузлів інтерполяції. Припустимо, що функція f(х) монотонна і дане значення у знаходиться між і .
Замінюючи функцію першим інтерполяційним многочленом Ньютона, одержимо:
.
Звідси
,
тобто .
Розмір визначаємо методом послідовних наближень як границю послідовності:
,
де
За початкове наближення приймаємо
. (10)
Для -го наближення маємо:
. (11)
На практиці ітераційний процес продовжують доти, поки не установляться значення, що відповідають необхідній точності, причому ,де – останнє зі знайдених наближень. Знайдемо ,визначаємо по формулі
,
звідки
. (12)
Ми застосували метод ітерації для розв’язку задачі оберненої інтерполяції, користуючись першою інтерполяційною формулою Ньютона. Аналогічно можна застосувати цей спосіб і до другої формули Ньютона:
.
Звідси
Позначимо – початкове наближення.
Для -го наближення маємо:
(13)
Знайдемо
,
визначимо по формулі [2,3]
.
Далі розглянемо запропоновану інтерполяційну формулу Бесселя. Вона подібна до інтерполяційної формули Стірлінга і обидві вони є похідними від першої та другої інтерполяційних формул Гаусса.
1.5 Інтерполяційна формула Бесселя
Часто використовується інтерполяційна формула Бесселя, яка служить для знаходження значення функції у міжвузловій точці. Для виведення цієї формули скористаємось другою інтерполяційною формулою Гаусса:
у скороченому вигляді:
де х=х0+qh.
Візьмемо 2n+2 рівновіддалених вузлів інтерполювання
x-n, x-(n-1),…, x0,…, xn-1, xn, xn+1 ,
з кроком h, і нехай
yi= f(xi), (i =-n,…,n+1),
— задані значення функції y= f(x).
Якщо вибрати за початкові значення x= x0 та y= y0, то, використовуючи вузли xk (k= 0, ±1, …, n), будемо мати:
(14)
Приймемо тепер за початкові значення х=х1 і у=у1 і використаємо вузли х1+к (к=0, 1,…,n). Тоді
причому відповідно індекси всіх різниць в правій частині формули (14) зростуть на одиницю. Замінивши в правій частині формули (14) q на q-1 і збільшивши індекси всіх різниць на 1, отримаємо допоміжну інтерполяційну формулу
(15)
Взявши середнє арифметичне формул (14) і (15), після простих перетворень отримаємо інтерполяційну формулу Бесселя
інтерполяція функція бессель програма
(16)
Інтерполяційна формула Бесселя (16), як слідує з способу отримання її, представляє собою поліном, що співпадає з даною функцією y= f(x) в 2n+2 точках
x-n, x-(n-1),…, xn, xn+1.
В частинному випадку, при n=1, нехтуючи різницею ∆3y-1, отримаємо формулу квадратичної інтерполяції по Бесселю
,
В формулі Бесселя всі члени, які містять різниці непарного порядку, мають множник q-; тому при формула (16) значно спрощується :
Цей спеціальний випадок формули Бесселя називається формулою інтерполювання на середину. Якщо в формулі Бесселя (3) зробити заміну по формулі то вона приймає більш симетричний вид
Приклад розв’язку задачі:
Значення функції подано у табл. 2. Знайти значення .
Таблиця 2- Таблиця різниць функції
2
-4.58579
-11.68216
3
-16.26795
-6.04989
-17.73205
0.01801
4
-34
-6.03188
-0.00878
-23.76393
0.00923
0.00504
5
-57.76393
-6.02265
-0.00374
-0.00321
-29.78658
0.00549
0.00183
0.00218
6
-87.55051
-6.01716
-0.00191
-0.00103
-0.00287
-35.80374
0.00358
0.0008
0.00069
7
-123.35425
-6.01358
-0.00111
-0.00034
-41.81732
0.00247
0.00046
8
-165.17157
-6.01111
-0.00065
-47.82843
0.00182
9
-213
-6.00929
-53.83772
10
-266.83772
Розв’язок:
Приймемо і , тоді
.
Оскільки , то скористаємося формулою Бесселя. Маємо:
;
Звідси, використовуючи підкреслені різниці, отримаєм:
2. Розробка алгоритмів та вибір оптимального алгоритму
При розробці алгоритму обчислення значення функції за допомогою інтерполяційної формули Бесселя будемо використовувати формулу яка описана в теоретичних відомостях.
Аналіз формули та прикладу, наведеного в першому розділі, показує що для обчислення значення функції необхідно обчислити значеня кінцевих різниць а також значеннь q та р. Безпосереднє обчислення за формулою вимагає операцій додавання (віднімання), n — операцій ділення та — операцій множення. З врахуванням того, що час виконання операції множення та ділення відповідно в 1,14 та 2,33 рази більший за час виконання операції додавання (віднімання) при використанні математичного співпроцесора, загальна кількість операцій обчислення складає
Алгоритм можна побудувати таким чином, щоб спочатку обчислити всі всі знаменники поліному, а потім провести обчислення за основною формулою. В цьому випадку необхідно комірок пам’яті.
Інший спосіб побудови алгоритму полягає в тому, щоб проводити обчислення знаменників поліному одночасно з обчисленнями за основною формулою виходячи з факторіалу. В цьому випадку для збереження значень необхідно лише n-1 комірок пам’яті.
Комплексний коефіцієнт ефективності Ке одного алгоритму в порівнянні з іншим можна обчислити за формулою
де Кч – коефіцієнт ефективності за часом виконання;
Кn – коефіцієнт ефективності за затратами пам’яті алгоритму.
Оскільки коефіцієнт ефективності за часом виконання алгоритму можна приблизно оцінити за кількістю арифметичних операцій алгоритму, то комплексний коефіцієнт ефективності описаних вище алгоритмів складає
Для випадку коли n=9
Блок-схеми описаних вище алгоритмів відповідно на рис 2.1 та рис 2.2. В даних алгоритмах вважається, що матриця A використовуються для збереження таблиці різниць, значення x, x0, n, q – однойменні змінні [6].
продолжение
–PAGE_BREAK–