logo search
Лаб_28-36

Теоретичні відомості

Задачею інтерполяції є передбачення значень в проміжних точках таблично заданої функції. У системі Mathcad можна з'єднувати точки прямою лінією (лінійна інтерполяція), або відрізками кубічного полінома (кубічна сплайн-інтерполяція).

Нехай задано набір точок, які називають вузлами інтерполяції, причому серед цих точок немає співпадаючих, а також задано значення функціїв цих точках. Потрібно побудувати функцію, яка проходить через усі задані вузли.

За функціюзазвичай вибирають поліном –інтерполяційний поліном. У тому випадку, коли поліном єдиний для всієї області інтерполяції, говорять, що інтерполяція глобальна. У тих випадках, коли між різними вузлами поліноми різні, говорять про кусочну або локальну інтерполяцію.

Знайшовши інтерполяційний поліном, ми можемо обчислити значення функції між вузлами (провести інтерполяцію у вузькому змісті слова), а також визначити значення функціїнавіть за межами заданого інтервалу (провестиекстраполяцію). Варто мати на увазі, що точність екстраполяції звичайно дуже невелика

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

Лінійна інтерполяція в Mathcad здійснюється за допомогою функції linterp.

linterp(vx,vy,x) - для заданих векторів

vx, vy вузлових точок і заданого аргументухобчислює значення функції при її лінійній апроксимації.

Графічно це означає просте з'єднання вузлових точок відрізками прямих.

Приклад 1.

Нехай дані значення x,y: (1;7), (5;5), (3;0), (2;3), (6;2), (7;5). За допомогою лінійної інтерполяції знайти наближені значення y для х=1.5, 2.5,10.5

  • Введіть дані у вигляді матриці;

  • Відсортуйте по зростанню перший стовпець, скориставшись функцією csort(A,n), де А – масив даних, n – стовпець, що сортується по зростанню

  • Виділіть вектор

vx – координати х, і вектор vy– координати y

  • Обчисліть апроксимуючу пряму f_lin(x)

  • Знайдіть значення y для

х=1.5, 2.5,10.5

  • Побудуйте вузлові точки і графік функції f_lin(x)

  • Відформатируйте графік

Як видно з наведеного прикладу цей спосіб наближення має недолік: у точках "стику" двох сусідніх поліномів похідна, як правило, має розрив. Якщо вихідна функція була гладкою і потрібно, щоб і апроксимуюча функція була гладкою, то кусочно-поліноміальна інтерполяція неприйнятна. У цьому випадку застосовують сплайни - спеціальним образом побудовані гладкі кусочно-багаточленні функції.

Інтерполяція сплайнами

Нехай відрізок [a,b] розбитий точками наnвідрізків.Сплайномступеняmназивається функція, яка має властивості:

1) функція неперервна на відрізку [a,b] разом зі своїми похідними до деякого порядкуp.

2) на кожнім відрізку функцію можна виразити деяким поліномомступеняm.

Різниця m-pміж ступенем сплайна і найвищим порядком неперервної на відрізку [a,b] похідної називаютьдефектом сплайну.Кусочно-лінійна функція є сплайном першого ступеня з дефектом, рівним одиниці.

Кубічна сплайн-інтерполяція дозволяє провести через набір точок гладку криву так, щоб у цих точках були неперервні перша і друга похідні..

Інтерполяція здійснюється двома функціями (у два етапи). Спочатку обчислюється вектор других похідних у розглянутих точках за допомогою однієї з функцій cspline(vx,vy), pspline(vx,vy), lspline(vx,vy), потім обчислюється значення функції в точці x за допомогою функції interp(vs,vx,vy,x).

cspline(vx,vy) – обчислює значення vs других похідних при наближенні в опорних точках до кубічного полінома

pspline(vx,vy) – обчислює значення vs других похідних при наближенні в опорних точках до параболічної кривої

lspline(vx,vy) – обчислює значення vs других похідних при наближенні в опорних точках до прямої

interp(vs,vx,vy,x) – повертає значення y(x) для заданих векторів vs, vx, vy і заданого значення x.

Похибка наближення кубічними сплайнами.

Нехай функція f має на відрізку [a,b] неперервну похідну четвертого порядку і . Тоді для інтерполяційного кубічного сплайна справедлива оцінка похибки:.

Приклад 2.

Функція задана таблицею своїх значень.

Побудуйте спайн-функцію.

Дані візьміть з Excel файлу.

Попередньо створіть файл book1.xls, збережіть його

у форматі Excel 2.1 у своїй папці.

  • Виконайте команду: Insert Component File Read and Write, вибиріть тип файлу Excel і знайдіть його на диск

  • Аналогічно прикладу 1 відсортуйте дані, виділіть вектор vx – координати х, і вектор vy– координати y

  • Знайдіть вектор других похідних для трьох типів кубічного сплайну

  • Знайдіть функцію для трьох типів куб. сплайну

  • Побудуйте вузлові точки і графіки функцій трьох типів

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

data