Наближення таблично заданих функцій з допомогою сплайн-інтерполяції засобами Delphi

Програма здійснює кубічну сплайн-інтерполяцію для заданого довільного набору вузлів і значень функції в них. В основі такого роду інтерполяції лежить ідея поділу інтервалу інтерполяції на невеликі відрізки, на кожному з яких функція задається полінлмом третьої степені. Коефіцієнти кожного з таких поліномів підбираються таким чином, що на кінцях інтервалів забезпечується умова неперервності функції до другої похідної включно. Відмітимо, що саме інтерполяція кубічними сплайнами на відміну від поліноміальної інтерполяції, вважається ефективним і швидким способом наближення таблично заданих функцій. Рішення системи лінійних рівнянь для знаходження коефіцієнтів, що використовуються у формулі сплайна, проводиться за алгоритмом методу прогонки. Також передбачено можливість визначення значення функції в будь-якій точці на заданому інтервалі.

Виходячи з того, що інтерфейс розглядуівного delphi-проекту аналогічний проектам, які ми розглядали для лінійної та квадратичної інтерполяції, розглядати кожен елемент форми та його призначення не будемо, а лише продемонструємо його роботу на конкретному прикладі:

Читати повністю

Знаходження наближеного значення таблично заданої функції використовуючи кубічну сплайн-інтерполяцію

Використання однієї інтерполяційної формули для великого числа вузлів, як у випадку інтерполяційних формул Ньютона чи Лагранжа являється недоцільним. Такий інтерполяційний многочлен сильно проявляє свої коливальні властивості, і його значення між вузлами можуть сильно відрізнятися від значень інтерпольованої функції. Однією з можливостей обійти такий недолік є застосування сплайн-інтерполяції. Ідея сплайн-інтерполяції полягає в побудові поліномів між парами сусідніх вузлів інтерполяції, причому для кожної пари вузлів будується свій поліном. Найпоширеніший у практиці є кубічний сплайн, для побудови якого необхідно побудувати n многочленів третьої степені:

Сплайн-інтерполяція

Для визначення невідомих Сплайн-інтерполяція многочлена (1) необхідно 4n рівняннь. Частина з них, а саме 2n, може бути отримана з умови проходження сплайна через вузли інтерполяції Сплайн інтерполяція:

Сплайн-інтерполяція

де Сплайн-інтерполяція. Науступні (2n-2) рівняння знайдемо з умови неперервності перших і других похідних у вузлах інтерполяції, тобто з умови гладкості кривої в усіх точках. Для цього знайдемо першу і другу похідну тричлена (1):

Читати повністю