- •Лабораторна робота № 1 обробка табличних даних з використанням інтерполяційних поліномів
- •Завдання до виконання роботи
- •Загальні положення
- •Контрольні питання
- •Лабораторна робота № 2 обробка експериментальних даних з використанням ліній тренда
- •Завдання для підготовки до виконання роботи
- •Варіанти до виконання роботи
- •Загальні положення
- •Контрольні питання
- •Контрольні питання
- •Завдання для підготовки до виконання роботи
- •Загальні положення
- •Контрольні запитання
- •Лабораторна робота № 4 прогнозування з використанням вбудованих функцій
- •Завдання для підготовки до виконання роботи
- •Загальні положення
- •Контрольні запитання
- •Лабораторна робота № 5 обробка експериментальних даних засобами лінійного програмування
- •Завдання для підготовки до виконання лабораторної роботи
- •Загальні положення
- •Контрольні запитання
- •Список джерел інформації
- •8 Сізова н.Д., Петрова о.О., Гречко н.В. Вбудовані функції MathCad для розв’язання математичних задач будівельної механіки. Навчально-методичний посібник. – Харків: хнуба, 2016. –95 с.
Загальні положення
На практиці часто необхідно розв’язати задачу – побудувати плавну криву для експериментальних даних, тобто треба розв’язати задачу апроксимації.
Апроксимацією називається процес вибору емпіричної формули (x) для функції y=f(x), одержаної із досліду, тобто . знаходження такої функції, яка найточніше описує функцію, задану у вигляді таблиці, тобто заміну функції f(x) функцією φ(x), близькою до першої. Емпіричні формули дають аналітичне представлення даних досліду.
Якщо наближення виконується на заданому дискретному інтервалі множень точок{ xi }, то таку апроксимацію називають точковою. При побудові наближення на неперервній множині точок, наприклад, на відрізку[a, b], апроксимація називається неперервною або інтегральною.
Розглянемо задачу апроксимації для однієї змінної.
Як правило, задача апроксимації розпадається на дві частини.
Спочатку встановлюється вид залежності y=f(x), тобто вид емпіричної формули, яка може бути лінійною, квадратичною, логарифмічною або якоюсь іншою. Після цього визначають чисельні значення невідомих параметрів обраної емпіричної формули, для яких наближення до заданої функції є найкращим. Для найкращого вибору параметрів задають міру наближення апроксимації експериментальних даних. Звичайно визначення параметрів, якщо відомий вид функціональної залежності, відбувається з використанням методу найменших параметрів. При цьому функція (x) є найкращим наближенням до f(x), якщо сума квадратів нев’язок i або відхилень “теоретичних значень” значень (xi), знайдених за емпіричною формулою, від відповідних даних досліду значень yi,
має найменше значення в порівнянні з іншими функціями, з числа яких обирається наближення, що відшукується.
Нехай y=ax+b , тоді метод найменших квадратів дає таку систему для визначення коефіцієнтів a, b:
Інтерполяція. Типи інтерполяції.
Одним із основних типів точкової апроксимації є інтерполяція.
Найпростіша задача інтерполяції полягає в такому: на відрізку задані точки, які називаються вузлами інтерполяції, і значення деякої функції у цих точках.
Необхідно побудувати таку функцію (так звану інтерполяційну функцію), яка приймає у вузлах інтерполяції ті самі значення, що й функція. Тобто треба знайти криву певного типу, що проходить через задану систему точок. Знайшовши таку функцію, ми зможемо знайти її значення в кожній точці відрізку. Можна дати таке визначення інтерполяції.
Інтерполяція – це спосіб знаходження проміжних значень функції за дискретним набором відомих значень.
Інтерполяція за допомогою полінома називається параболічною.
Точки x0, x1, x2, ... , xn, в яких функція має значення y0, y1, y2, ... , yn, називають вузлами інтерполяції.
Якщо між різними вузлами поліноми різні, то така інтерполяція називається локальною.
Якщо поліном один для всього інтервалу інтерполяції, то така інтерполяція називається глобальною.
Процес
побудови послідовності інтерполяційних
поліномів по послідовності сіток, що
згущаються, на
називається
інтерполяційним процесом.
За
допомогою полінома можна знаходити
значення функції у вузлах, які знаходяться
за межами інтервалу. В такому випадку
процес знаходження значень функції
називають екстраполяцією.
Якщо задані значення функції в двох вузлах x0 та x1 і ці значення дорівнюють y0 та y1, то лінійну функцію на відрізку можна записати формулою:
y = Ax + B,
в якій при x=x0 , y=y0, а при x=x1 y=y1. Це – лінійна інтерполяція
Якщо задані значення функції в трьох вузлах x0, x1 та x2 і ці значення дорівнюютьy0, y1 та y2, то інтерполяційний поліном буде мати вигляд параболи, яку можна описати рівнянням виду:
y = Ax2 + Bx + C.
Квадратична інтерполяція представляється формулою:
Якщо задані значення функції в чотирьох вузлах x0, x1, x2 та x3 і ці значення дорівнюють y0, y1, y2 та y3, то інтерполяційний поліном буде мати вигляд кубічної параболи, яку можна описати рівнянням виду:
y = Ax3 + Bx2 + Cx + D.
Це – кубічна інтерполяція, яку можна записати формулою:
Результати експериментів завжди мають якусь похибку і ця похибка часто буває досить великою. В таких випадках інтерполяційна крива не буде відповідати справжній залежності. Подібні ситуації виникають доволі часто, тому інтерполяція рідко використовується при аналізі результатів експериментів.
Інтерполяційний поліном Лагранжа. Сплайни.
Для функції, яка задана таблицею, можна побудувати інтерполяційні поліноми.
Якщо на відрізку [a, b] задано вузли інтерполювання хк (k=0,1, …,n) і значення функції f(x) в цих вузлах
-
х
х0
х1
…
хn
f(х)
f(х0)
f (х1)
…
f(хn)
то можна побудувати інтерполяційний поліном, тобто поліном, степені не вище n, значення якого у вузлах інтерполяції співпадають з заданими значеннями функції.
Інтерполяційний поліном Лагранжа в загальному випадку для n +1 вузлів (точок)має вигляд:
.
Процес побудови послідовності інтерполяційних поліномів по послідовності сіток, що згущуються, на називається інтерполяційним процесом. Одним зі способів інтерполяції на усьому відрізку є інтерполяція за допомогою сплайнів. Перевагою сплайнів перед звичайною інтерполяцією є, по-перше, їхня збіжність, і, по-друге, стійкість процесу обчислень. Слово ,,сплайн’’ (англ. spline) означає гнучку лінійку, яка використовується для проведення гладких кривих через задані точки площини. Нехай обрані цілі числа m0 і l-1 та на інтервалі задано сітку. Сплайном степені m гладкості l називається функція sm,l(x), яка задовольняє двом умовам:
на кожному з інтервалів [xi, xi+1] вона є алгебраїчним поліномом ступеня не вище m, тобто Sm,l(f,x)=Pim(x)=ai0+ai1+…+aimxm, i=1,…n (n – кількість розбивок);
на всьому
інтервалі
вона
належить класові гладкості Cl
,
тобто її похідні неперервні в точках
xi порядку
l-1.
(
,
де xi
– заданий вузол, i=1,…
n-1;
k=0,…,m-1).
Звичайно вибирають l=m. Якщо будувати сплайн m-го порядку, то невідомих (m+1)n. Можна будувати сплайни будь-якого порядку.
Сплайн першого порядку називається лінійним (інтерполяційний)
Відрізків
n,
на кожнім відрізку дві невідомих, значить
всього 2n
невідомих. Оскільки функція неперервна,
тобто
,
то
Значення коефіцієнтів наступні:
Звідки коефіцієнти
.
Система MathCad дозволяє проводити інтерполяцію набору експериментальних точок. Для цього в системі є функції, які дають можливість інтерполювати функцію різними методами. Сплайни можуть бути поліномами 1,2,3 степені (лінійні, квадратичні, кубічні).
Для інтерполяції з використанням сплайнів можна звернутися до програмного пакету MathCad [8], який має наступні вбудовані функції.
Функція lspline (vx,vy) інтерполює функцію, що задана таблицею. У начальній і кінцевій точках накладається умова лінійності, тобто друга похідна функції дорівнює нулю. Перша буква в назві функції l означає лінійний (linear).
Функція рspline (vx,vy) інтерполює функцію, що задана таблицею, таким чином, що на першому і останньому інтервалі крива є параболою, тобто поліноміальний коефіцієнт при х3 дорівнює нулю. Перша буква в назві функції р означає параболічний (parabolic).
Функція сspline (vx,vy) інтерполює функцію, що задана таблицею, таким чином, що на перших двох інтервалах, а також на останніх двох інтервалах поліноміальні коефіцієнти при х3 рівні між собою. Перша буква в назві функції с означає кубічний (cubic).
Результатом кожної функції є вектор, в якому є значення других похідних від інтерполяційної кривої у всіх точках, які задані в масиві vx.
Для того, щоб побудувати з цього вектора криву, необхідно скористатися вбудованою функцією interp(v, vx,vy,x), де vx і vy – масиви експериментальних точок, v – масив, який отримано як результат однієї з трьох функцій, х – координата, в якій визначається значення інтерполяційної кривої.
Таким чином, сплайнова інтерполяція в MathCad відбувається в два етапи. На першому етапі визначається вектор похідних при допомозі однієї з трьох функцій lspline, рspline, сspline, на другому визначається інтерполяційна залежність за допомогою функції interp.
Функція interp апроксимує дані функції за допомогою В–сплайнів.
B(vx,vy,u,n) – вектор значень коефіцієнтів В – сплайна; u – вектор значень аргументу, в яких проводиться зшивання В – сплайнів, n – порядк сплайнової інтерполяції (1,2,3). Розмірність вектора u повинна бути на 1,2 або 3 менше розмірності векторів vx і vy. Перший елемент вектора u має бути менше або дорівнювати першому елементу вектора vx, а останній елемент – більше або дорівнювати останньому елементу vx.
Інтерполяція В–сплайнами – складніший тип інтерполяції. На відміну від звичайної сплайн-інтерполяції, зшивання елементарних В–сплайнів проводиться не в точках vx, а в інших точках вектору u, які вибираються довільно із відрізка, на якому задано експериментально значення функції.
Регресія. Метод найменших квадратів.
Частіше використовується так званий регресійний аналіз.
Регресією називається підгонка параметрів простої функції для найкращої апроксимації експериментальних даних(від латинського approximo – наближаюсь).
Для пошуку оптимальних значень параметрів функцій часто використовують метод найменших квадратів. Суть цього методу полягає в тому, щоб знайти такі коефіцієнти полінома, при яких сума квадратів відхилень(різниць між обчисленими та експериментальними значеннями функції) була мінімальною.
Нехай в результаті експерименту одержано таблицю значень функції y=f(x):
-
x
x0
x1
x2
…
xn
y
y0
y1
y2
…
yn
Необхідно апроксимувати цю функцію поліномом степені m (m<n)
Pm(x)=a0+a1x+a2x2+a3x3+… amxm..
За методом найменших квадратів знаходяться ті значення коефіцієнтів a0, a1, a2, …, am, для яких сума квадратів відхилень (невязки)
приймає мінімальне значення.
Використовуючи необхідні умови існування екстремуму функції декількох змінних, одержано систему рівнянь для визначення невідомих a0, a1, a2, …, am
Якщо m=1, то функція y=f(x) апроксимується поліномом першої степені
P1(x)=a0+a1x.
Система рівнянь для визначення параметрів a0, a1 виглядає наступним чином
Якщо m=2, то функція y=f(x) апроксимується поліномом другої степені
P2(x)=b0+b1x+ b2x2.
Система рівнянь для визначення параметрів b0, b1, b2 виглядає наступним чином
Для зручності при обчисленнях можна створити таблицю, яка наведена нижче:
і |
хі |
хі2 |
хі3 |
хі4 |
уі |
хі уі |
хі2 уі |
0 |
х0 |
х02 |
х03 |
х04 |
у0 |
х0 у0 |
х02 у0 |
1 |
х1 |
х12 |
х13 |
х14 |
у1 |
х1 у1 |
х12 у1 |
… |
… |
… |
… |
… |
… |
… |
… |
… |
… |
… |
… |
… |
… |
… |
… |
n |
хn |
хn2 |
хn3 |
хn4 |
уn |
хn уn |
хn2 уn |
|
|
|
|
|
|
|
|
Лінійна регресія є найпростішою, але використовується частіше за інші види регресії. Суть її в знаходженні таких значень параметрів a і b, щоб пряма y = a + bx найкращим чином апроксимувала заданий набір точок.
Окрім апроксимації невідомої функції за допомогою прямої, використовується апроксимація за допомогою поліномів різного ступеня. Можна використовувати поліном будь-якого ступеня, Але не більший, ніж число точок у вибірці мінус один. При n=1 отримаємо лінійну регресію. Частіше використовується поліноміальна регресія від другого до п’ятого ступеня.
Приклад 1
Дана таблиця, в якай вказана температура тіла в різні моменти часу. Необхідно знайти функцію, яка описує залежність температури від часу, тобто дозволяє знайти температуру тіла в заданий в момент часу.
t |
0' |
10' |
20' |
30' |
T |
60º |
90º |
80º |
20º |
Порядок виконання роботи
1 Знайти найпростішу функцію, яка при заданих значеннях аргументу (часу) приймала би ті самі значення функції (температури), що вказані в таблиці. Найпростішою функцією, зручною для обчислень, є поліном (ціла раціональна функція). Оскільки в таблиці вказані чотири значення функції, будемо шукати поліном третього ступеня.
або
T = at3 + bt2 + ct + d.
2 Підібрати невідомі коефіцієнти a, b, c, d. Підберемо їх так, щоб при t = 0, 10, 20, 30 поліном прийняв відповідно значення T = 60, 90, 80, 20.
2.1 Підставимо послідовно значення t у поліном і прирівняємо відповідним значенням T. Отримаємо систему рівнянь:
2.2 Розв’язати систему рівнянь і одержати
a = –1/600, b = –3/20, c = 14/3.
2.3 Записати формулу для полінома, вона буде мати вигляд:
T = – (1/600)t3 – (3/20)t2 + (14/3)t + 60.
3 Користуючись одержаним виразом, можна знайти температуру тіла в кожен момент часу від 0' до30'.
Наприклад, в момент t = 17' :
T = – (1/600)173 – (3/20)172 + (14/3)17 + 60 = 87,8, тобто T= 87,8º.
Приклад 2 (Лінійна інтерполяція)
Потрібно побудувати лінійний інтерполяційний поліном для функції, яка задана у вигляді таблиці:
з такими чисельними значеннями
-
х
1
3
у
1
9
Порядок виконання роботи
1 Побудувати для двох вузлів інтерполяції формулу:
2 Підставити задані чисельні значення у формулу
або
y = 4x – 3.
3 Побудувати графік функції, він має вигляд прямої лінії.
Приклад 3
Потрібно побудувати інтерполяційний квадратичний поліном для функції, яка задана у вигляді таблиці:
з такими чисельними значеннями:
x |
1 |
3 |
4 |
y |
12 |
4 |
6 |
Порядок виконання роботи
1 Побудувати для трьох вузлів інтерполяції квадратичний поліном у вигляді:
2 Підставити задані чисельні значення і отримати:
або y=2x2– 12x + 22.
3 Побудувати графік функції.
Приклад 4
Функція у=f(x) задана табличною у вузлах
Порядок виконання роботи
1 Побудувати інтерполяційний лінійний сплайн.
1.1 Використати наступну кусково-лінійну апроксимацію
1.2 Побудувати систему рівнянь для визначення невідомих
1.3 Із розв’язання систему одержано
1.4 Лінійний сплайн матиме вигляд
1.5 Побудувати графік лінійного сплайну (рис.1.1).
Рисунок 1.1– Графік лінійного сплайну (OPENOffice)
В системі MathCad графік інтерполяційного лінійного сплайна може бути представлено наступним чином
2 Побудувати інтерполяційний квадратичний сплайн.
2.1 Записати апроксимацію
2.2 Скласти систему рівнянь
2.3 Розв’язуючи систему, одержимо
2.4 Квадратичний сплайн має вигляд
2.5 Побудувати графік квадратичного сплайну (рис.1.2).
Рисунок 1.2 – Графік квадратичного (OPENOffice)
сплайну
3 Приклад обчислення лінійних, квадратичних, кубічних спалайнів в системі MathCad
В–сплайнова інтерполяція
Приклад 5
Побудувати
інтерполяційний поліном Лагранжа 4
степені
у вигляді лінійної комбінації
Порядок виконання роботи
1 Обчислити базисні поліноми
2 Інтерполяційний поліном Лагранжа матиме вигляд
3 Обчислити значення полінома в точках х1 і х4
4 Побудувати графік полінома Лагранжа (рис. 1.3).
5 Представити на одному графіку інтерполяційні сплайни і поліном Лагранжа (рис.1.4).
Рисунок 1.3 – Графік полінома Лагранжа
Рисунок 1.4 – Графік полінома Лагранжа і сплайнів
Приклад 6
Дана таблиця, яка отримана шляхом експерименту. Потрібно методом найменших квадратів знайти емпіричну формулу залежності у вигляді лінійної функції.
x |
0 |
3 |
5 |
8 |
10 |
14 |
17 |
20 |
22 |
24 |
y |
1,02 |
2,5 |
3,92 |
5,16 |
6,82 |
8,36 |
10,74 |
11,82 |
13,64 |
12,96 |
Порядок виконання роботи
1 Визначити значення Мх , Мху, Мхх, Му.
2 Знайти параметри a та b системи
Розв’язавши систему, отримаємо: a = 1,109; b = 0,535. Лінійна функція має вигляд: y = 0,535x + 1,109.
Приклад 7
Функція задана у вигляді таблиці
х |
-3 |
-1 |
0 |
1 |
2 |
3 |
4 |
у |
2,9 |
1,0 |
-0,2 |
-1,5 |
-0,4 |
0,5 |
2,0 |
Порядок виконання роботи
1 Створити таблицю для додаткових обчислень
і |
хі |
хі2 |
хі3 |
хі4 |
уі |
хі уі |
хі2 уі |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
0 |
-3 |
9 |
-27 |
81 |
2,9 |
-8,7 |
26,1 |
1 |
-1 |
1 |
-1 |
1 |
1,0 |
-1,0 |
1 |
2 |
0 |
0 |
0 |
0 |
-0,2 |
0 |
0 |
3 |
1 |
1 |
1 |
1 |
-1,5 |
-1,5 |
-1,5 |
4 |
2 |
4 |
8 |
16 |
-0,4 |
-0,8 |
-1,6 |
5 |
3 |
9 |
27 |
81 |
0,5 |
1,5 |
4,5 |
6 |
4 |
16 |
64 |
256 |
2 |
8,0 |
32,0 |
|
=6 |
= 40 |
=72 |
=436 |
=4,3 |
=-2,5 |
=60,5 |
2 Записати систему рівнянь для знаходження коефіцієнтів а0 і а1 полінома першої степені
3 Знайти розв’язок системи рівнянь а0=0,766; а1=-0,177.
4 Записати поліном першої степені Р1(х)=0,766-0,177х.
5 Записати систему рівнянь для апроксимуючого полінома другої степені відносно коефіцієнтів b0, b1, b2
6 Обчислити коефіцієнти b0, b1, b2 полінома другої степені b0=-0,458; b1=-0,454; b2=0,256.
7 Записати поліном другої степені Р2(х)=-0,458-0,454х+0,256х2.
8 Побудувати графіки апроксимуючих поліномів першої і другої степені.
Рисунок 1. 5 – Результат побудови апроксимуючих поліномів
в Open Office.Calc
