69326

Кусково-поліноміальна інтерполяція. Інтерполяція сплайнами

Лекция

Математика и математический анализ

Поліном 3-го ступеня будемо називати кубічним сплайном Sx що відповідає вихідної функції fx і заданий на сітці впорядкованих вузлів =x0 x1 xn=b якщо задовольняютьсянаступні умови: а. Будемо виводити формулу для рівновіддалених вузлів коли: xi xi 1 = h Знайдемо значення функції...

Украинкский

2015-02-14

507 KB

11 чел.

Лекція 11. Кусково-поліноміальна інтерполяція. Інтерполяція сплайнами

Збільшуючи число точок інтерполяції, не завжди можна знизити похибку. Це має місце в тих випадках, коли проміжок [a,b], на якому потрібно наблизити функцією f(x) функцієюφ(x), великий, і немає підстав вважати дану функцію f(x) достатньо гладкою. Тоді немає сенсу підвищувати точність поліноміальної апроксимації за рахунок використання в якості базисних функцій поліномів високи ступенів. У цих умовах більш перспективним є підхід, що використовує кусково–поліноміальну апроксимацію. Ідея такого підходу полягає в наступному: вихідний відрізок [a,b] розбивається на кілька ділянок, а потім на кожній ділянці виконується інтерполяція. Через те, що на окремих ділянках вузлів інтерполяція буде в кілька разів менше, ніжна усьому вихідному відрізку, то інтерполювати можна буде за допомогою полінома меншого ступеня, що значно спрощує задачу. У результаті має місце кускова інтерполяція. При цьому звичайно вимагають, щоб у точках з'єднання сусідніх ділянок самі поліноми і похідні від них до деякого порядку мали однакові значення.

Як інтерполяційну функцію звичайно вибирають поліноми не вище 3–4–го ступеня  сплайни. Поліном 3–го ступеня будемо називати кубічним сплайном S(x), що відповідає вихідної функції f(x) і заданий на сітці впорядкованих вузлів a=x0 < x1 <…< xn=b, якщо задовольняютьсянаступні умови:

а.  на кожному відрізку [xi - 1,xi], i = 1,2,…,n функція S(x) є поліномом третього ступеня;

б.  функція S(x), а також її перша і друга похідні неперервні на [a,b];

в.  у вузлах інтерполяції S(xi) = f(xi), i = 0,1,…,n.

Доведемо існування й єдиність сплайна, обумовлені перелікованими умовами. Приведене нижче доведення містить також і спосіб побудови кубічного сплайна.

Нехай {xi} — множина вузлів інтерполяції, i = . Між вузлами xi - 1 і xi будемо представляти функцію:

 (5.41)

S(xi) = yi, S(xi - 1) = f(xi - 1) = ai, — це випливає з того, що у вузлах інтерполяції S(xi) = f(xi), . i = 0,1,…,n.

Перепишемо формулу для сплайна в наступному виді:

(5.33)

Всього невідомих 4n - n = 3n.

Будемо виводити формулу для рівновіддалених вузлів, коли: xi - xi - 1 = h

Знайдемо значення функції в кінцевій точці як yn = yn - 1 + bnh + cnh2 + dnh3. Це співвідношення дозволить позбутися від однієї невідомої.Далі будемо використовувати похідні S(xxi). Запишемо формулу (5.33) для відрізка [xi,xi + 1]:

. (5.34)

Значення функцій (5.33) і (5.34) на суміжних з вузлом xi інтервалах повинні збігатися, тобто:

(5.35)

Одержимо n рівнянь. Запишемо значення 1–ої похідної:

Прирівнюємо похідні в точці xi:

. (5.36)

Таких формул буде n - 1.

Беремо 2–гу похідну:

Прирівнюємо значення цих похідних в точках :

(5.37)

Одержимо ще n - 1 рівнянь.

Порахуємо змінні, що ще не визначені:

.

Додамо умову:

(5.38)

Тепер число невідомих дорівнює числу рівнянь. Перепишемо систему заново, використовуючи отримані співвідношення (5.35–5.38):

Доведемо, що систему можна перетворити так, щоб її можна було вирішувати методом прогонки:

(підставимо в (5.36))

Вираз для bi + 1 буде мати вигляд:

Підставимо значення bi,bi + 1 і di і отримаємо:

.

Система вирішується методом прогонки, тому що матриця коефіцієнтів є трьохдіагональною. Відомо, що c1 = 0, cn =- 3dnh.

Приклад 5.6.

Складемо програму, що визначає сплайн–функцію для деякої таблиці TS, що містить більше точок, чим задана в прикладі 5.1 таблиця TA:

In = TS = {{0,0},{0.5,2},{1.2,2.25},{1.5,3},{2,3.25},{2.5,3},
{3,6},{3.5,0.75},{4,3.75}};

Визначимо функцію у вигляді:

In = s[i + ,x_,ta_]: = A[[i]] + B[[i]]*(x-ta[[i]]) +
G[[i]]*(ta[[i]])^2 + F[[i]]*(x-ta[[i,1]])^3

Невідомі вектори коефіцієнтів визначимо із співвідношень (5.35–5.38):

A = Table[TS[[i,2]], {i,1,n}];
B = Table[b[[i]], {i,1,n}];
G = Table[g[[i]], {i,1,n}];
F = Table[f[[i]], {i,1,n}];

Знайдемо вираз для лівих частин виведених умов (5.35–5.38). Перша з цих умов визначає значення коефіцієнтів ai = yi, i = . Усі невідомі коефіцієнти сплайн–функцій, що залишилися, можуть бути отримані після формування івирішення системи лінійних рівнянь. Будемо визначати сплайн–функцію з вільними кінцями, що виражається умовами (5.38). З останніх умов випливає, що f1 = 0, 2fn +6(xn + 1 - xn)gn = 0

Результатом розв’язку побудованої системи будуть наступні значення коефіцієнтів:

Out = {b[1]→2.14538,b[2]→5.54762,b[3]→-3,b[4]→4.04762,b[5]→-2.45238,
b[6]→4.90476,b[7]→16.1429,b[8]→33.7619,f[1]→2.96059∙10
-16,f[2]→6.19048,
f[3]→-7.80952,f[4]→2.38095,f[5]→-9.42857,f[6]→-19.0476,f[7]→13.5238,
f[8]→-79.5238,g[1]→3.09524,g[2]→-13.1905,g[3]→12.9048,g[4]→-8.28571,
g[5]→4.61905,g[6]→35.3333,g[7]→-60.0476,g[8]→11.9286

Варто врахувати, що формула (5.33) визначає значення сплайн–функції тільки на відповідному відрізку [xi, xi + 1], i = Поза цим відрізком покладемо її значення рівними нулю. Наступна формула визначає сплайн–функцію з врахуванням цієї умови:

In = sp1[i_,x_]: = If[TS[[i,1]]< = x&&x<TS[[i + 1,1]],s[i,x,TS],0];

Сплайн–функція, що представляє інтерполяційну функцію на повному відрізку
[x1, xn + 1], визначається наступною формулою:

На закінчення приведемо графік функції, побудований по останній формулі. Графік назвемо gr1:

gr1 = Plot[Cubsp[y],{y,0,4}, Frame→True, GridLines→Automatic,
PlotStyle→{Thickness[.01]}]

Рис 5.9 Інтерполяція табличної функції кубічним сплайном

По тій же таблиці TS можна побудувати еквівалентний інтерполяційний поліном Лагранжа чи Ньютона. Приведемо на одному малюнку функцію, отриману за допомогою інтерполяційного полінома Лагранжа, і функцію, отриману в прикладі 5.8 за допомогою сплайн–інтерполяціі, зобразивши її більш товстою лінією. Значення збігаються у вузлах інтерполяції (відмічені на графіку точки) і помітно відрізняються в проміжках між ними через виникнення биття (викидів) у методі Лагранжа. Це ще раз підтверджує, що при великому числі вихідних точок методи Ньютона, Лагранжа і т.п. стають непридатними, у таких випадках необхідно використовувати інтерполяцію сплайнами.

Рис. 5.10 Результати інтерполяції табличної функції поліномом Лагранжа (тонка лінія) і кубічним сплайном (товста лінія)

При побудові сплайн–функцій можна було використовувати і інші умови на кінцях відрізка. Наприклад, можна було б задати значення першої чи другої похідних у точках x1 і xn + 1. У пакеті Mathematica табличну функцію можна представити за допомогою лінійного або кубічного сплайна. Для побудови сплайн–функції по таблиці TA використовується наступний оператор:

In = Tp = Interpolation[Ta, InterpolationOrder→3]

Опція вказує на вибір кубічного сплайна. Можна використовувати лінійний сплайн:

In = Tp1 = Interpolation[Ta, InterpolationOrder→1]

Графіки обох сплайнів приведені на рис.5.11 ( точками визначені вихідні дані).

Рис. 5.11 Результати інтерполяції табличної функції лінійним сплайном (тонка лінія) і кубічним сплайном (товста лінія)

Більшість методів інтерполяції застосовуєтьсядля апроксимації однозначних функцій, що задаються таблицею з значеннями аргументу, який змінюєтьсямонотонно. Для інтерполяції однозначних і неоднозначних функцій у Mathematica використовується оператор SplineFit[ data, tips], що міститься в стандартній бібліотеці і викликається командою

In = <<NumericalMathSplineFit

Приклад 5.7.

Введемо таблицю, що представляє неоднозначну функцію:

In = Tb = {{1.15,-0.3},{1.2,1},{1.5,3.1},{1.9,2.4},{1.6,0.9},
{1.3,0.1},{0.8,-0.4}};

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

In = Pls = SplineFit[Tb,Cubic]
Out = SplineFunction[Cubic,{0.,6},<>]

Отримана сплайн–функція визначає значення змінних (x,y) параметрично, в інтервалі {0,6}, що заданий у повідомленні. Значення змінних (x,y) можуть бути отримані при вказівці значення параметра, наприклад,

Pls[0]{1.15,-0.3} Pls[1.5]{1.3081,2.19639} Pls[3]{1.9,2.4}
Pls[5]{1.3,0.1} Pls[6]{0.8,-0.4}

Графік функції можна побудувати за допомогою наступних операторів:

In = gs1 = ParametricPlot[Pls[u], {u,0,6}, PlotRange→All,
Compiled→False, DisplayFunction→Identity]
In = rg = ListPlot[Tb, PlotStyle→PointSize[0.03],
DisplayFunction→Identity]
In = Show[gs1,rg,DisplayFunction→$DisplayFunction]

Рис. 5.12 Інтерполяція параметричної функції

На графік нанесені точки інтерполяції (рис.5.12). За отриманими значенням (x,y) можна зрозуміти, що зростанню параметра відповідає обхід кривої по годинниковій стрілці.

Інтерполяція кубічними сплайнами є процесом, що сходиться, тобто, при необмеженому збільшенні числа вузлів  відповідна послідовність сплайн–функцій збігається до функції f(x), що інтерполюється. Оцінка похибки інтерполяції r(x) = f(x) - S(x) залежать від вибору сіток і від гладкості f(x). Якщо зажадати від функції f(x) існування неперервної на [a,b] четвертої похідної і припустити, що виконано межові умови f(a) = f(b) = 0, а також збереження таких ж умов для сплайна, то можна одержати оцінку залишкового члена у вигляді:

(5.39)

де

Метод найменших квадратів

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

Розглянемо задачу відновлення деякої функції f(x) методом найменших квадратів. Зажадаємо, щоб міра відхилення експериментальних значень від обраної функції була мінімальною в заданих n + 1 точках (xi,ii), i = 0,1,2,…,n:

(5.40)

Найчастіше в якості φ вибирають поліноми. Тоді говорять, що якщо функція φ(x) задовольняє рівняння (5.40), то вона є поліномом найкращого середньоквадратичного наближення:

 (5.41)

де a0,a1,…,ak — довільні дійсні числа (коефіцієнти узагальненого полінома). Таким чином, побудова узагальненого полінома найкращого середньоквадратичного наближення для даної функції f(x) зводиться до знаходження оптимального набору коефіцієнтів для функцій φ(x) у рівнянні (5.41) на основі методу найменших квадратів, тобто до розв’язку задачі мінімізації (5.40).

Якщо k = n, то розглядаєтьсязадача інтерполяції, при цьому поліном φ(x) збігається з інтерполяційним поліномом Лагранжа, побудованим на тих же вузлах:

(5.42)

У нашому формулюванні при фіксованому  міра відхилення I(a0,a1,…,ak) є функцією k + i1 аргументів.

Необхідно, щоб

Починаємо отримувати похідні:

.

Склавши отримані співвідношення, знаходимо:

Введемо заміну змінних:

Тоді попередній вираз можна записатив наступному вигляді:

,

.

Знайдемо наступні рівняння:

Розкриємо дужки

і отримаємо:

 

де

Послідовно обчислюємо всі похідні:

Після перетворення одержимо систему k + 1рівнянь:

 (5.43)

Якщо існує єдиний розв’язок, то єдиним чином знайдемо коефіцієнти полінома найкращого квадратичного наближення. На практицівибирають не тільки коефіцієнти, але і ступінь полінома I(ai,k). Звичайно міра відхилення I(k + 1) < I(k).

Приклад 5.7.

Нехай табличнафункція задана двома таблицями ta= {xi} і tb= {yi}

In = ta = {1.1,1.2,1.5,2.4,2.7,2.4};
tb = {1,2.5,3.4,4.3,5.1,4.2,3.7};

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

m = 4; S = Arra[s,m,m]; n = Length[ta];

Обчислимо допоміжні значення:

X = Table[Sum[ta[[i]]^j/n,{i,n}], {j,0,2*(m-1)}]
Out = {1,2.12857,5.42143,15.9916,52.4174,184.401,679.239
}

Утворимо з них матрицю системи рівнянь:

In = TA = Table[s[i,j] = X[[i + j-1]],{i,m},{j,m}];

Приведемо її для ілюстрації:

In = TableForm[TA]

Обчислимо праві частини системи рівнянь:

In = b = Table[Sum[ta[[i]]^j*tb[[i]]/n, {i,n}], {j,0,(m-1)}]
Out = {3.45714, 8.34571, 23.3129, 73.1062}

і отримаємо її розв’язок:

In = A = Inverse[TA].b
Out = {-13.4621, 21.5347, -8.4563, 1.05846}

Запишемо отриманий поліном:

In = p{x_]: = Sum[A[i]]*x^(i-1), {i,m}; p[x]
Out = -13.4621 + 21.5347x-8.4563x
2 + 1.05846x3

Побудуємо графік отриманого полінома, на який нанесемо задані табличні значення. Складемо з двох таблиць ta і tb звичайну таблицю {xi,yi}:

In = TT = Transpose[{ta,yb}]
Out = {{1.1,1},{1.2,2.5},{1.5,3.4},{2,4.3},{4,5.1},
{2.7,4.2},{2.4,3.7}}

Побудуємо графік табличної функції, графік отриманого поліномаа і сполучимо їх:

In = g1 = ListPlot[TT, PlotStyle→PointSize[0.03],
DisplayFunction→Identity]
g2 = Plot[p[x], {x,1.1,4},DisplayFunction→Identity]
Show[g1,g2,GridLines→Automatic, Frame→True
FrameLabel→{x,P3x},DisplayFunction→$DisplayFunction]

Рис. 5.13 Наближення табличної функції з прикладу 5.9 методом найменших квадратів

Знайдемо відносну середньоквадратичну помилку

Out = 0.0989264

Усю послідовність дій можна значно скоротити, якщо скористатися стандартним пакетом Mathematica PolinomialFit, що також будує поліном найкращого квадратичного наближення. Різниця між ними полягає в тому, що останній оператор представляє поліном по ступенях (x- xср) відхилення змінної x від середнього табличного її значення xср. Виклик пакета виконується по інструкції:

In = <<NumericalMathPolynomialFit

Приведемо приклад його використання. Введемо таблицю:

In = tb = {{1.2,2.1},{1.4,3.5},{1.7,4.3},{1.9,3.2},
{2.3,2.1},{2.5,0.8}};

і одержимо поліном найкращого квадратичного наближення третього степеню:

In = p = PolynomialFit[tb,3]
Out = FittingPolynomial[<>,3]

Приведемо його вираз:

In = N[p[x],6]
Out = 3.78964-1.7454(-1.83333 + x) + 1.08536(-0.69067 +
2.17072(-2.32879 + 1.7454(-1.83333 + x))(-1.83333 + x))(-1.83333 + x)

Покажемо, що середнє табличне значення дорівнює:

Отримаємо по таблиці tb поліном третього ступеня за допомогою оператора Fit:

In = f1 = Fit[tb, {1,x,x^2,x^3},x]
Out = -35.417 + 59.0875x-28.1038x
2 + 4.11221x3

Покажемо, що він збігається з поліномом:

In = p1 = Expand[p[x]]
Out = -35.417 + 59.0875x-28.1038x
2 + 4.11221x3

Побудуємо графік полінома p[x], табличні значення і сполучимо їх:

In = g2 = Plot[p[x], {x,1.2,2.5},DisplayFunction→Identity]
g1 = ListPlot[tb, PlotStyle→PointSize[0.03],DisplayFunction→Identity]

Show[g1,g2,GridLines→Automatic, Frame→True
FrameLabel→{x,G2},DisplayFunction→$DisplayFunction]

Рис. 5.14 Наближення табличної функції засобами пакета Mathematica

Метод рівнянь в нормальній формі

Певною альтернативою методу найменших квадратів може бути метод, що базується на використанні скалярних добутків базисних функцій, які вибрані для інтерполяції. Якщо кожне рівняння із системи (5.3) помножити на відповідну базисну функцію φj(x), j = 0,…,m, то отримаємо систему рівнянь в так званій нормальній формі:

(0, 0)c0 + (0, 1)c1 + ... + (0, m)cm = (0, f)

(1, 0)c0 + (1, 1)c1 + ... + (1, m)cm = (1, f)

................................................................... (5.44)

(m, 0)c0 + (m,1)c1 + ... + (n, m)cm = (m, f),

яка налічує m + 1 рівнянь для знаходження коефіцієнтів сi , i = 0,1,...,mпо значенням функції f, вибраноїна множині точокxi, i = 0,…,n для будь–якогоnm.Важливо підкреслити, що збільшення кількості вузлів інтерполяції не впливає на розмір системи рівнянь (5.44), а тільки на точність визначення скалярних добутків функцій що входять до рівнянь (5.44) як сталі.

Якщо в якості базисних функцій обрані ортогональні поліноми (Лежандра, Чебишева, Ерміта та ін.), для яких виконуються умови (φij) = 0, ij, ||φi|| ≠ 0, то визначення коефіцієнтів сi значно спрощується:

 (5.45)

При цьому нев’язка апроксимації ортогональна до всіх φj, j = 0,…,m, тобто

 (5.46)

Дані про найбільш поширено вживані ортогональні поліноми зведені у таб. 5.1.

Таблиця 5.1. Властивості ортогональних поліномів

Властивості

Полином Лежандра

Полином Чебишева

Полином Ермита

Область визначення

1 ≤ x ≤ 1

1 ≤ x ≤ 1

-∞ ≤ x ≤ ∞

φ0

P0(x) = 1

T0(x) = 1

H0(x) = 1

φ1

P1(x) = x

T1(x) = x

H1(x) = 2x

φ2

P2(x) = (1/33x2 - 1)

T2(x) = 2x2 - 1

H0(x) = 4x2 - 2

Рекурентна формула обчислення наступних поліномів

Загальна формула опису

Спільним для ортогональних поліномовє їх трикутна форма:

Тому в загальному випадку можна записати співвідношення:

, (5.47)

де φ*(x) = [φ0(x),φ1(x),…,φm(x)], x* = [x0,x1,x2,…,xn]t

Вирішившиобернену задачу, знайдемо:

. (5.48)

звідки

Тобтобудь–який поліном n–ої степініможе бути записаний єдиним чином через сукупність базисних ортогональних поліномів:

. (5.49)

Це дозволяє проводити наближення функцій ортогональними поліномами за допомогою процедури (5.45), а потім приводитице наближення до звичної поліноміальної форми.

При застосуванні поліномів Лежандра і Чебишева необхідно здійснити перехід від реального інтервалу інтерполяції [a,b] до області визначення ортогональних поліномів за допомогою заміни змінних x = a0+a1xd, а також перерахувати вибрані значення f(x)в значення f1(xd). Враховуємо, що на нижній межі інтервалу x = a і xd =- 1, тому x = a0+a1( - 1) на верхній межі інтервалу x = b і xd = 1, в результаті x = a0+a1(1).

Отже, отримуємо:

і ,

тому  і .

Приклад 5.8.

Апроксимувати лінійною функцією f*(x) = c0 + c1x табличні дані, задані в таблиці:

В нашому випадку φ0(x) = 1, φ1(x) = x, тобто кількість невідомих коефіцієнтів дорівнює двом (m = 2), а кількість вузлів інтерполяції дорівнює п’яти (n = 5).

Система рівнянь (5.44) в нормальній формі набуває вигляд:

Необхідні скалярні добутки визначаються векторами: x = (1 2 4 6 7)t, φ0 = (1 1 1 1 1 )t, φ0 = (1 3 4 6 8 )t, φ0 = ( - 2,1- 0,6- 0,6 0,6 0,9 )t.

Послідовно знаходимо потрібні скалярні добутки:

(f,1)= - 2,11-0,93-0,64+0,66+0,97=2,7;

(f,0 ) = - 2,11-0,91-0,61+0,61+0,91= - 2,1;

(0,0 ) =11 +11+11+11+11=5;

(1,1)=11+33+44+ 66+77=111;

(0 ,1)=11+13+14+ 16+17=21.

 

Система лінійних рівнянь для визначення невідомих значень коефіцієнтів буде мати наступний вигляд:

5c0 + 21c1 =- 2,1
21c0 + 111c1 = 2,7;

з якої

с0 = - 2,542, с1=0,5053

Перевірка точності наближення дає нев’язку:

(с00 + с11 - f) = (0,063-0,1260,079-0,110 0.095)t

яка свідчить, що пряма наближення майже однаково віддалена від ординат вибраних точок (рис. 5.13).

Рис. 5.15 Наближення табличних даних лінійною функцієюf*(x) = c0 + c1x 

Приклад 5.9.

Необхідно знайти апроксимуючу функцію для табличних данихпро коливаннярівня води в Північному морі через приливи і відливи:

t

0

2

4

6

8

10

година

h

1.0

1.6

1.4

0.6

0.2

0.8

м

Оскільки мова йде про коливальний процес з періодом коливань T = 12 годин, то виконаємо апроксимацію через тригонометричні функції:

.

У нашому випадку 0 = 1; 1 = sin(x), 2 = cos(x), тобто m = 3 , де x = 2πt/T, і їх значення в окремих точках спостережень (n = 6)приведені нижче:

x

0

π/3

(2 години)

2π/3

(4 години)

π 

(6 годин)

4π/3

(8 годин)

5π/3

(10 годин)

Sin(x)

0

0

Cos(x)

1

- 1




Система рівнянь (5.44) в нормальній форміприймає вигляд:

Вибрана система базисних функцій ортогональна, тому що

0 +  +  + 0- - = 0;
1 +  - -1-  +  = 0;
0+  - +0+  - = 0.

Знайдемо інші скалярні додатки:

(φ0,h) = 1 + 1,6 + 1,4 + 0,6 + 0,2 + 0,8 = 5,6;
(
φ1,h) = 0 + 1,38564 + 1,21244 - 0,173205 - 0,69282 = 1,73206;
(
φ2,h) = 1 + 0,8 - 0,7 - 0,6 - 0,1 + 0,4 = 0,8;
(
φ0,φ0) = 1 + 1 + 1 + 1 + 1 + 1 = 6;

(φ1,φ1) = 0 + 0,75 + 0,75 + 0 + 0,75 + 0,75 = 3;
(
φ2,φ2) = 1+0,25+0,25+1+0,25+0,25=3,

у результаті чого одержуємо систему рівнянь:

.

з якої обчислюємо h0 = 0,9333(3), a1 = 0,557, a2 = 0,267.

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

Рис. 5.16 Апроксимація табличних даних за допомогою тригонометричної функції

Нев’язка апроксимації дорівнює

(h0φ0 + a1φ1 + a2φ2 - h) = (0,20033 -0,0507939 -0,1177940,066330,117454 -0,215546)t,

а її відносна квадратична норма 0,08842.

ВИСНОВКИ:

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

2. Локальна апроксимація нелінійних функцій, яка віднесена в главі 1 до базових принципів побудови чисельних методів, реалізується за допомогою методів наближення, розглянутих у цій главі. Наприклад, при розв’язанні нелінійних рівнянь (розділ 6) у методі Ньютона використовується лінійна локальна апроксимація (або поліном першого порядку), у методі Мюллера–параболічна апроксимація (або поліном другого порядку).

3. Наближення функцій використовується також для розв’язку крайової задачі для систем звичайних диференційних рівнянь (метод коллокацій, метод Гальоркіна)і для систем диференційних рівнянь з частиннимипохідними (метод скінченого елемента).

4. Існує тільки один поліном n–го порядку , що проходить черезвсіn + 1 задані точки (або точно відображає всі n + 1 задані дискретні значення функції).

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

6. Інтерполяційний поліном Ньютона, що використовує розділені різниці високих порядків, має аналогічну з формулою Тейлораформу запису й аналогічну оцінку похибки, але застосовується для дискретно заданих функцій. Його зручно використовувати у випадках, коли степінь полінома, що апроксимує розглянуту функцію, апріорі невідома. Вибираючи різне число членів інтерполяційного полінома, можна перевірити різні гіпотези про степінь апроксимуючого полінома і, порівнюючи результати й оцінки похибки, вибрати найкращий варіант.

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

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

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

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

ВПРАВИ:

1. У таблиці приведені дані американського Бюро перепису населення, що характеризують чисельність населення Сполучених штатів:

Рік

1900

1910

1920

1930

1940

Населення

75.994.575

95.972.266

105.710.620

122775.046

135.669.275

Рік

1950

1960

1970

Населення

150.697.361

179.323.175

203.235.298

 Виконайте інтерполяцію ці дані за допомогою формул Лагранжа і Ерміта. Використовуйте сплайн–інтерполяцію. Чисельність населення в 1980р. склала 226 547 082. Яке з наближень дає більш точний результат?

2. Побудуйте  точок даних, вибравши

Значення функції erf(x) визначити по таблицях або одержати за допомогою пакета на комп'ютері.
Виконайте інтерполяцію даних за допомогою формули Ньютона і кубічної сплайн–функції. Порівняйте результати в обох випадках із значенням erf(x). Яка найбільша помилка?

3. У таблиці приведені так звані монотонні дані. Виберіть кращий ,на ваш погляд, варіант інтерполяції.Чи є отримані інтерполянти монотонними?

x

0

2

3

5

6

8

9

11

12

14

15

y

10

10

10

10

10

10

10.5

15

50

60

85

4. Параметрична інтерполяція виникає при рішенні задач пошуку наближуючої функції по точках, що лежать на плоскій кривій. Її форму не можна описати якою–небудь функцією від x, тому що функція була б неоднозначною. Введіть деякий параметр t, що змінюється вздовж кривої, що описує, наприклад букву S. Задайте вздовж кривої координати 8 точок й інтерполюйте ці дані і відтворіть отриманий результат. Виберіть у якості модельної замкнуту криву, наприклад, букву О. Повторіть зазначену послідовність дій. Обернена інтерполяція. У звичайній постановці задачі інтерполяції дані величини xi,yi. Потрібно знайти функцію y = f(x). Якщо величини монотонні, можна визначити функцію x = g(y).

5. Відома залежність

Знайдіть шістнадцять значень
erf(x) із кроком h = 0,1 для 0 ≤ x ≤1,5 в таблицях або порахуйте їх за допомогою пакета на комп'ютері. Оцініть значення аргументів у проміжних точках 0,05 + 0,1j, j = 0,1,…,15. Використовуйте для побудови поліноми Стірлінга, Бесселя і сплайн–функції. Порівняєте результати з точними значеннями.

6. По трьох значеннях функції y = sin(x) на відрізку [0,π/2] побудувати поліном Лагранжа і оцінити залишковий член. Одержати наближене значення для точки π/6.

7. Скласти таблицю скінчених різниць для функції y = xln2x, обчисленої з трьома знаками після коми, у точках xi = 0,4 + 0,2i, i = 1,2,…,10. Визначити значення функції в точках 0,5, 5,1, 5,5, 2,3, вибираючи для цього відповідний інтерполяційнийполвном. Порівняти


 

А также другие работы, которые могут Вас заинтересовать

59985. Фінансова оцінка та економічний ефект бізнес-проекту 399.5 KB
  В Україні на даному етапі існує потреба в активізації бізнес-освіти, впровадженні новітніх програм, завданням яких є формування навичок для ефективної діяльності в ринкових умовах.
59987. «Гіркий корінь навчання» має бути солодким 32.5 KB
  Ушинський розглядав мовлення у невід’ємному зв’язку з формуванням особистості дитини визначав основні завдання зміст методику навчання мовлення акцентував увагу на вивченні рідної мови. Він зауважував що вивчення мови має три мети.
59988. Вуглеводи 225.5 KB
  Обладнання: мультимедійний проектор; мікроскопи; зразки крохмалю глюкози целюлози фруктози цукрози молока цукрурафінаду соку; чашки Петрі зі зразками картоплі ковбаси сиру цибулі піпетки розчин йоду фільм Вуглеводи.
59989. Вулканізм і вулкани. Джерела, гейзери 81.5 KB
  А девізом нашого уроку нехай будуть слова Михайла Казимирчука: Напружуй нерв напружуй мозок Сприймай збагни і зрозумій А щоб все вдалося як радять психологи треба налаштуватися тільки на успіх тільки на позитив.
59990. Вулканізм і вулкани. Джерела, гейзери. Загальна географія 6 клас 83.5 KB
  Мета: вивчити що таке вулканізм та які його види Завдання: ознайомити з наслідками вулканізму та процесами які його супроводжують; розвивати память увагу логічне мислення уміння встановлювати причинно-наслідкові зв’язки творчі здібності...
59992. Введение в Дизайн 30.5 KB
  Украшательство было всегда. О дизайне как о явлении мы начинаем говорить с 19 века, из-за Научно-технического прогресса. Дизайн это компромисс между техникой и красотой. Дизайн сначала функция, потом форма.
59993. Основные категории дизайна 34 KB
  Образ –- это идеальное представление об объекте художественно-образная модель созданная воображением дизайна Функция –- это работа которую должно выполнять изделие а так же смысловая знаковая и целостностная...