Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб_28-36.doc
Скачиваний:
13
Добавлен:
18.03.2015
Размер:
4.15 Mб
Скачать

Контрольні питання

  1. Як можна переглянути функції (окрім вбудованої допомоги), що дозволяють розв'язувати диференційні рівняння?

  2. Які функції Mathcad реалізують розв'язування диференційних рівнянь методом Рунге-Кутта?

  3. Розв'язування рівнянь за допомогою функції rkfixed.

  4. Розв'язування рівнянь за допомогою функції odesolve.

  5. Як побудувати розв'язок?

  6. Як розв'язувати системи диференційних рівнянь?

  7. Які можливості надає Mathcad для аналітичного розв'язування диференційних рівнянь?

  8. Зверніться до вбудованої допомоги і поясніть можливості Mathcad, щодо пошуку розв'язку диференційних рівнянь у комплексному вигляді.

Лабораторна робота № 35

Тема: Інтерполювання функцій.

Мета: Навчитися інтерполювати функції за допомогою лінійної та сплайн-інтерполяції.

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

Задачею інтерполяції є передбачення значень в проміжних точках таблично заданої функції. У системі 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