Интерполация на функции с помощта на сплайн. Сплайн интерполация

Интерполационни формулиЛагранж, Нютон и Стърлинг и др. при използване на голям брой интерполационни възли по целия сегмент [ а, b] често водят до лошо приближение поради натрупването на грешки по време на процеса на изчисление. В допълнение, поради разминаването на процеса на интерполация, увеличаването на броя на възлите не подобрява непременно точността. За да намалите грешките, целият сегмент [ а, b] се разделя на частични сегменти и на всеки от тях функцията се замества приблизително с полином от ниска степен. Нарича се частична полиномна интерполация.

Един от методите за интерполация върху целия сегмент [ а, b] е сплайн интерполация.

Сплайне частична полиномна функция, дефинирана на интервала [ а, b] и имащ определен брой непрекъснати производни на този сегмент. Предимствата на сплайн интерполацията в сравнение с конвенционалните методи за интерполация са конвергенцията и стабилността на изчислителния процес.

Нека разгледаме един от най-често срещаните случаи в практиката - интерполация на функция кубичен сплайн.
Нека върху сегмента [ а, b] дадено непрекъсната функция. Нека въведем разделяне на сегмента:

и обозначават, .

Сплайн, съответстващ на дадена функция и интерполационни възли (6), е функция, която отговаря на следните условия:

1) на всеки сегмент функцията е кубичен полином;

2) функцията, както и нейните първа и втора производни, са непрекъснати на интервала [ а, b] ;

Третото условие се нарича условие за интерполация. Извиква се сплайн, определен от условия 1) – 3). интерполиращ кубичен сплайн.

Нека разгледаме метод за конструиране на кубичен сплайн.

На всеки от сегментите, Ще търсим сплайн функция под формата на полином от трета степен:

(7)

Където необходимите коефициенти.

Нека диференцираме (7) три пъти по отношение на х:

откъде следва

От условие за интерполация 3) получаваме:

Това следва от условията за непрекъснатост на функцията.

2.2 Интерполация с помощта на кубичен сплайн

Кубичен интерполационен сплайн, съответстващ на дадена функция f(x) и дадени възли x i, е функция S(x), която отговаря на следните условия:

1. На всеки сегмент, i = 1, 2, ..., N, функцията S(x) е полином от трета степен,

2. Функцията S(x), както и нейните първа и втора производни, са непрекъснати на интервала,

3. S(x i) = f(x i), i = 0, 1, ..., N.

На всеки от сегментите , i = 1, 2, ..., N, ще търсим функцията S(x) = S i (x) под формата на полином от трета степен:

S i (x) = a i + b i (x - x i - 1) + c i (x - x i - 1) 2 + d i (x - 1) 3,

x i - 1 Ј x Ј x i ,

където a i, b i, c i, d i са коефициенти, които трябва да бъдат определени за всички n елементарни сегмента. Така че системата алгебрични уравненияимаше решение, броят на уравненията трябва да е точно равен на броя на неизвестните. Следователно трябва да получим 4n уравнения.

Получаваме първите 2n уравнения от условието, през което трябва да минава графиката на функцията S(x). дадени точки, т.е.

S i (x i - 1) = y i - 1, S i (x i) = y i.

Тези условия могат да бъдат записани като:

S i (x i - 1) = a i = y i - 1,

S i (x i) = a i + b i h i + c i h + d i h = y i,

h i = x i - x i - 1, i = 1, 2, ..., n.

Следните 2n - 2 уравнения следват от условието за непрекъснатост на първата и втората производни в интерполационните възли, т.е. условието за гладкост на кривата във всички точки.

S i + 1 (x i) = S i (x i), i = 1, ..., n - 1,

S i (x) = b i + 2 c i (x - x i - 1) + 3 d i (x - x i - 1),

S i + 1 (x) = b i + 1 + 2 c i + 1 (x - x i) + 3 d i + 1 (x - x i).

Приравнявайки във всеки вътрешен възел x = x i стойностите на тези производни, изчислени в интервалите отляво и отдясно на възела, получаваме (като се вземе предвид h i = x i - x i - 1):

b i + 1 = b i + 2 h i c i + 3h d i , i = 1, ..., n - 1,

S i (x) = 2 c i + 6 d i (x - x i - 1),

S i + 1 (x) = 2 c i + 1 + 6 d i + 1 (x - x i),

ако x = x i

c i + 1 = c i + 3 h i d i , i = 1,2, ..., n - 1.

На този етап имаме 4n неизвестни и 4n - 2 уравнения. Следователно трябва да се намерят още две уравнения.

Когато краищата са хлабаво закрепени, кривината на линията в тези точки може да бъде настроена на нула. От условията на нулева кривина в краищата следва, че вторите производни в тези точки са равни на нула:

S 1 (x 0) = 0 и S n (x n) = 0,

c i = 0 и 2 c n + 6 d n h n = 0.

Уравненията представляват система от линейни алгебрични уравнения за определяне на 4n коефициенти: a i, b i, c i, d i (i = 1, 2, . . ., n).

Тази система може да бъде приведена в по-удобна форма. От условието можете веднага да намерите всички коефициенти a i.

i = 1, 2, ..., n - 1,

Замествайки, получаваме:

b i = - (c i + 1 + 2c i) , i = 1,2, ..., n - 1,

b n = - (h n c n)

Изключваме коефициентите b i и d i от уравнението. Накрая получаваме следната система от уравнения само за коефициенти с i:

c 1 = 0 и c n + 1 = 0:

h i - 1 c i - 1 + 2 (hi - 1 + h i) c i + h i c i + 1 = 3,

i = 2, 3, ..., n.

От намерените коефициенти с i е лесно да се изчисли d i,b i.

Изчисляване на интеграли по метода Монте Карло

Този софтуерен продукт реализира възможност за задаване на допълнителни ограничения върху областта на интегриране чрез две двумерни сплайнови повърхности (за интегрална функция с размерност 3)...

Интерполация на функция

Нека е дадена таблица с функционални стойности f(xi) = yi (), в която те са подредени във възходящ ред на стойностите на аргументите: x0< x1 < … < xn. Чтобы построить кубический сплайн, требуется определить коэффициенты ai0, ai1, ai2, ai3...

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

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

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

Нека се запознаем с алгоритъма на програмата. 1. Изчислете стойностите и 2. Въз основа на тези стойности изчислете работните коефициенти и o. 3. Въз основа на получените данни изчисляваме коефициентите 4...

Математическо моделиранетехнически обекти

Вградените функции на MathCAD позволяват интерполация за изчертаване на криви с различна степен на сложност чрез експериментални точки. Линейна интерполация...

Методи за апроксимация на функции

На всеки сегмент интерполационен полиноме равно на константа, а именно лявата или дясната стойност на функцията. За лява частично линейна интерполация F(x)= fi-1, ако xi-1 ?x

Методи за апроксимация на функции

На всеки интервал функцията е линейна Fi(x)=kix+li. Стойностите на коефициента се намират чрез изпълнение на условията за интерполация в краищата на сегмента: Fi(xi-1)=fi-1, Fi(xi-1)=fi. Получаваме система от уравнения: kixi-1+ li= fi-1, kixi+ li= fi , откъдето намираме ki=li= fi- kixi...

Методи за решаване на система от линейни уравнения. Интерполация

Постановка на проблема с интерполацията. На интервала е зададена система от точки (интерполационни възли) xi, i=0,1,…,N; а? x i ? b, и стойностите на неизвестната функция в тези възли fn i=0,1,2,…,N. Могат да се поставят следните задачи: 1) Да се ​​построи функцията F (x)...

Построяване на математически модел, описващ процеса на решаване на диференциално уравнение

3.1 Конструкция на интерполационния полином на Лагранж и кондензация на стойности Очевидният метод за решаване на този проблем е да се изчислят стойностите на ѓ(x), като се използват аналитичните стойности на функцията ѓ. За целта - по първоначална информация...

Ако те са степени (1, x, x2, ..., xn), тогава говорим за алгебрична интерполация и функцията се нарича интерполационен полином и се обозначава като: (4) Ако () (5), тогава можем конструирайте интерполационен полином от степен n и освен това само един...

Практическо приложение на интерполация на гладки функции

Нека разгледаме пример за интерполация за множество елементи. За простота и краткост нека вземем =[-1;1], . Нека точките да са различни една от друга. Нека поставим следния проблем: (12) конструирайте полином, който отговаря на тези условия...

Приложение на числени методи за решаване на математически задачи

Числени методи

И така, както бе споменато по-горе, задачата на интерполацията е да се намери полином, чиято графика минава през дадените точки. Нека функцията y=f(x) бъде определена с помощта на таблица (Таблица 1)...

Числени методи за решаване на математически задачи

МИНИСТЕРСТВО НА ОБРАЗОВАНИЕТО И НАУКАТА НА РУСКАТА ФЕДЕРАЦИЯ

Федерална държавна автономна образователна институция

висше професионално образование

"Уралски федерален университет на името на първия президент на Русия Б. Н. Елцин"

Институт по радиоелектроника и информационни технологии – РТФ

Отдел Автоматизация и информационни технологии

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

МЕТОДИЧЕСКИ УКАЗАНИЯ ЗА ЛАБОРАТОРНА РАБОТА ПО ДИСЦИПЛИНАТА „Числени методи”

Съставител: I.A.Selivanova, старши учител.

ИНТЕРПОЛАЦИЯ СЪС СПЛАЙН:Указания за практически занятия по дисциплината „Числени методи”

Указанията са предназначени за студенти от всички форми на обучение в направление 230100 – „Информатика и компютърни науки”.

Ó Федерална държавна автономна образователна институция за висше професионално образование "Уралски федерален университет на името на първия президент на Русия Б. Н. Елцин", 2011 г.

1. ИНТЕРПОЛАЦИЯ СЪС СПЛАЙН. 4

1.1. Кубични сплайни. 4

1.2. Специална форма на писане на сплайн. 5

1.3. Квадратни сплайни. 13

1.4. Практическа задача. 18

1.5. Опции за задачи. 19

Препратки 21

1. Сплайн интерполация.

В случаите, когато интервалът [ а,b], на който искате да замените функцията f(х) е голям, може да се приложи сплайн интерполация.

1.1. Кубични сплайни.

Интерполационни сплайнове 3-торед - това са функции, състоящи се от части от полиноми 3 thпоръчка. В интерфейсните възли се осигурява непрекъснатостта на функцията и нейните първи и втори производни. Апроксимиращата функция е съставена от отделни полиноми, обикновено с еднакво малка степен, всеки дефиниран в своята част от сегмента.

Нека върху сегмента [ а, b] реална ос х е зададена мрежа, в чиито възли се определят стойностите
функции f(х). Необходимо е да се построи върху отсечката [ а, b] непрекъсната сплайн функция С(х), който отговаря на следните условия:



За да конструирате желания сплайн, трябва да намерите коефициентите
полиноми
,аз=1,… н, т.е. 4 н неизвестни коефициенти, които удовлетворяват 4 н-2 уравнения (1), (2), (3). За да има решение системата от уравнения, се добавят две допълнителни (гранични) условия. Използват се три вида гранични условия:

Условия (1), (2), (3) и едно от условията (4), (5), (6) образуват SLAE на поръчката 4 н. Системата може да бъде решена с помощта на метода на Гаус. Въпреки това, като изберете специална форма на писане на кубичния полином, можете значително да намалите реда на системата от уравнения, която трябва да бъде решена.

1.2. Специална форма на писане на сплайн.

Помислете за сегмента
. Нека въведем следните обозначения на променливите:

Тук
- дължина на сегмента
,

,
- спомагателни променливи,

х– междинна точка на сегмента
.

Кога х минава през всички стойности в интервала
, променлива варира от 0 до 1 и
варира от 1 до 0.

Нека кубичният полином
на сегмента
има формата:

Променливи И
се определят по отношение на конкретен интерполационен сегмент.

Нека намерим стойността на сплайна
в краищата на сегмента
. Точка
е началната точка за сегмента
, Ето защо =0,
=1 и в съответствие с (3.8):
.

В края на сегмента
=1,
=0 и
.

За интервал
точка
е ограничен, така че =1,
=0 и от формула (9) получаваме:
. По този начин условието за непрекъснатост на функцията е изпълнено С(х) в точките на свързване на кубични полиноми, независимо от избора на числа  i.

За определяне на коефициентите  i, аз=0,… н Нека диференцираме (8) два пъти като сложна функция на х. Тогава

Нека дефинираме вторите производни на сплайна
И
:

За полином
точка е началото на интерполационния сегмент и =0,
=1, следователно

От (15) и (16) следва, че на интервала [ а,b]сплайн функция, „слепена заедно“ от части от полиноми от 3-ти ред, има непрекъсната производна от 2-ри ред.

За получаване на непрекъснатост на първата производна на функция С(х), Нека изискаме следните условия да бъдат изпълнени във вътрешните интерполационни възли:

За естествен кубичен сплайн
, следователно системата от уравнения ще изглежда така:

и системата от уравнения (17) ще изглежда така:

Пример.

Първоначални данни:

Функция за замяна
интерполиращ кубичен сплайн, чиито стойности в дадени възлови точки (виж таблицата) съвпадат със стойностите на функцията в същите точки. Разгледайте различни гранични условия.

    Нека изчислим стойността на функцията в възловите точки. За да направите това, заменете стойностите от таблицата в дадената функция.

    За различни гранични условия (4), (5), (6) намираме коефициентите на кубичните сплайни.

    1. Нека разгледаме първите гранични условия.

В нашия случай н=3,
,
,
. Да намеря
използваме системата от уравнения (3.18):

Нека изчислим И , използвайки формули (7) и (11):


Нека заместим получените стойности в системата от уравнения:

.

Системно решение:

Като се вземат предвид първите гранични условия, коефициентите на сплайн са:

      Нека разгледаме дефиницията на сплайн коефициентите, като вземем предвид граничните условия (3.5):

Нека намерим производната на функцията
:

Нека изчислим
И
:

Нека заместим в системата от уравнения (21) стойностите И :

Използвайки формула (20), определяме  0 и  3:

Като се вземат предвид конкретни стойности:

и вектор на коефициентите:

    Нека изчислим стойностите на кубичния сплайн S(x) в средните точки на интерполационните сегменти.

Средни точки на сегменти:

За да изчислим стойността на кубичния сплайн в средата на интерполационните сегменти, използваме формули (7) и (9).

3.1.

Ще намерим И
:

Във формула (3.9) заместваме коефициентите

3.2.

Ще намерим И
:


, за гранични условия (4), (5), (6):

3.3.

Ще намерим И
:

Във формула (9) заместваме коефициентите
, за гранични условия (4), (5), (6):

Нека направим таблица:

(1 cr.cond.)

(2 кредита)

(3 кредита)

Нека бъде дадена таблица със стойности на функцията y iвъв възли х 0 < х 1 < ... < х п .Отбележете h i = x i – x i -1 , аз= 1, 2, ... , П.

Сплайн– гладка крива, минаваща през дадени точки ( x i, y i), аз = 0, 1, ... , П. Сплайн интерполация е, че на всеки сегмент [ x i -1 , x i]използва се полином от определена степен. Най-често се използва полином от трета степен, по-рядко от втора или четвърта. В този случай за определяне на коефициентите на полиномите се използват условията за непрекъснатост на производните в интерполационните възли.

Интерполация с кубични сплайнипредставлява локална интерполация, когато на всеки сегмент [ x i -1 , x i], аз = 1, 2, ... , Пизползва се кубична крива, която удовлетворява определени условия за гладкост, а именно непрекъснатостта на самата функция и нейните първа и втора производни в възлови точки. Използването на кубичната функция се дължи на следните съображения. Ако приемем, че интерполационната крива съответства на еластична линийка, фиксирана в точки ( x i, y i), тогава от курса по якост на материалите е известно, че тази крива се определя като решение на диференциалното уравнение f(IV) ( х) = 0 на интервала [ x i -1 , x i](за простота на представянето не разглеждаме въпроси, свързани с физическите измерения). Общото решение на такова уравнение е полином от степен 3 с произволни коефициенти, който удобно се записва във формата
S i(х) = и аз + b i(х - x i -1) +с i(х - x i -1) 2 + d i(х - x i -1) 3 ,
x i-1 £ х £ x i, аз = 1, 2, ... , П.(4.32)

Функционални коефициенти S i(х) се определят от условията за непрекъснатост на функцията и нейните първи и втори производни във вътрешни възли x i,аз= 1, 2,..., П - 1.

От формули (4.32) при х = x i-1 получаваме

S i(хи- 1) = y i -1 = a i, аз = 1, 2,..., П,(4.33)

и когато х = x i

S i(x i) = и аз + b i h i +с i h i 2 + d i h i 3 ,(4.34)

аз= 1, 2,..., н.

Условията за непрекъснатост на интерполационната функция се записват като S i(x i) = S i -1 (x i), аз= 1, 2, ... , н- 1 и от условия (4.33) и (4.34) следва, че те са изпълними.

Нека намерим производните на функцията S i(х):

S" i(х) =b i + 2с i(х - x i -1) + 3ди(хx i -1) 2 ,

S" i(х) = 2c i + 6d i(x - xi -1).

При х = x i-1, имаме S" i(x i -1) = b i, С" (x i -1) = 2с i, и когато х = x iполучаваме

S" i(x i) = b i+ 2с i h i+ 3дих аз 2 , С" (x i) = 2с i + 6d i h i.

Условията за непрекъснатост на производните водят до уравненията

S" i(x i) =S" i +1 (x i) Þ b i+ 2с i h i+ 3дих аз 2 = b i +1 ,

аз= l, 2,... , П - 1. (4.35)

S" i (x i) = S" i +1 (x i) Þ 2 с i + 6d i h i= 2c i +1 ,

аз= l, 2,..., н- 1. (4.36)

Общо имаме 4 н– 2 уравнения за определяне на 4 ннеизвестен. За да се получат още две уравнения, се използват допълнителни гранични условия, например изискването интерполационната крива да има нулева кривина в крайните точки, т.е. втората производна да е равна на нула в краищата на сегмента [ А, b]А = х 0 , b= x n:

С" 1 (х 0) = 2° С 1 = 0 Þ с 1 = 0,

S"n(x n) = 2с n + 6d n h n = 0 Þ с n + 3d n h n = 0. (4.37)

Системата от уравнения (4.33)–(4.37) може да бъде опростена и могат да бъдат получени рекурентни формули за изчисляване на коефициентите на сплайн.

От условие (4.33) имаме изрични формули за изчисляване на коефициентите a i:

a i = y i -1 , i= 1,..., н. (4.38)

Да изразим d iпрез c iизползвайки (4.36), (4.37):

; аз = 1, 2,...,н; .

Да сложим с n+1 = 0, след това за d iполучаваме една формула:

, аз = 1, 2,...,н. (4.39)

Нека заместим изразите за и азИ d iв равенство (4.34):

, аз= 1, 2,..., н.

и експрес b i, през с i:

, аз= 1, 2,..., н. (4.40)

Нека изключим коефициентите от уравнения (4.35) b iИ d iизползвайки (4.39) и (4.40):

аз= 1, 2,..., н -1.

От тук получаваме система от уравнения за определяне с i:

Системата от уравнения (4.41) може да бъде пренаписана като

Тук се въвежда нотацията

, аз =1, 2,..., н- 1.

Нека решим системата от уравнения (4.42), използвайки метода на почистване. От първото уравнение изразяваме с 2 чрез с 3:

° С 2 = 2 ° С 3 + b 2 , , . (4,43)

Нека заместим (4.43) във второто уравнение (4.42):

ч 2 (а 2 ° С 3 + b 2) + 2( ч 2 + ч 3)° С 3 3 ° С 4 = ж 2 ,

и експрес с 3 чрез с 4:

с 3 = 3 с 4 + b 3 , (4,44)

Ако приемем, че с i-1 = а аз -1 c iаз-1 от азто уравнение (4.42), което получаваме

c i= а аз с аз+1+б аз

, аз = 3,..., н– 1, а н= 0, (4.45) c n +1 = 0,

c i= а аз с аз+1+б аз, аз= н, н -1,..., 2, (4.48)

° С 1 = 0.

3. Изчисляване на коефициенти и аз, b i,d i:

a i = y i -1 ,

аз= 1, 2,..., н.

4. Изчислете стойността на функция с помощта на сплайн. За да направите това, намерете следната стойност аз, че дадената стойност на променливата хпринадлежи към сегмента [ x i -1 , x i] и изчислете

S i(х) = и аз + b i(х - x i -1) +с i(х - x i -1) 2 + d i(х - x i -1) 3 . (4.50)

Основната задача интерполация- намиране на стойността на определена от таблица функция в тези точки в рамките на даден интервал, където тя не е посочена. Първоначалните таблични данни могат да бъдат получени както експериментално (в този случай по същество няма междинни данни без допълнителна работа), така и чрез изчисление, използвайки сложни зависимости (в този случай е по-лесно да се намери стойността на сложна функция с помощта на интерполация, отколкото чрез директно изчисление използвайки сложна формула)

Концепция за интерполация

Решението на проблемите с интерполацията и екстраполацията се осигурява чрез конструиране на интерполационна функция Л(х), приблизително замествайки оригинала f(х), посочени в таблица и преминаващи през всички дадени точки - интерполационни възли.Използвайки тази функция, можете да изчислите желаната стойност на оригиналната функция във всяка точка.

Във връзка с интерполацията се разглеждат три основни проблема.

1) избор на интерполационна функция Л(х);

2) оценка на интерполационната грешка Р(х);

3) поставяне на интерполационни възли, за да се осигури възможно най-висока точност на възстановяване на функцията ( х 1 , х 2 ,…,x n).

Специалните методи за интерполация ви позволяват да определите желаната стойност на функция, без директно да конструирате функция за интерполация. По принцип всички методи на интерполация, базирани на използването на полиноми като интерполационна функция, дават едни и същи резултати, но с различни разходи. Това се обяснява с факта, че полиномът нта степен, съдържаща н+1 параметър и преминаване през всички посочени н+1 точки, - единственият. В допълнение, полиномът може да бъде представен като пресечена серия на Тейлър, в която се разширява оригиналната диференцируема функция. Това е може би едно от основните предимства на полинома като интерполационна функция. Следователно най-често първият интерполационен проблем се решава чрез избор на полином като интерполационна функция, въпреки че могат да се използват и други функции (например тригонометрични полиноми, други функции, избрани от неформалните условия на смисления проблем).

Ориз. 3.2 Илюстрация на интерполация

Изборът на типа на интерполационната функция като цяло е важна задача, особено ако помните, че произволен брой функции могат да бъдат начертани през дадени точки (фиг. 3.2). Трябва да се отбележи, че има очевиден начин за конструиране на интерполационна функция: от условието на функцията, преминаваща през всички точки, се съставя система от уравнения, от решението на която се намират нейните параметри. Този път обаче далеч не е най-ефективният, особено при голям брой точки.

Прието е да се прави разлика между локална и глобална интерполация. В случай, че полиномът е един и същ за цялата област на интерполация, се казва, че интерполацията глобален. В случаите, когато полиномите са различни между различните възли, говорим за на части или локална интерполация.

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

Най-простият и най-често използван тип локална интерполация е линейна интерполация.Състои се в това, че дадени точки М(x i, y i) (аз = 0, 1, ..., н) са свързани с прави отсечки, а функцията f(х) се доближава до начупена линия с върхове в тези точки (фиг. 3.3) .

Ориз. 3.3 Линейна интерполация

Уравненията на всеки сегмент от прекъсната линия обикновено са различни. Тъй като има нинтервали (x i , x i + 1), след това за всяко от тях като уравнение

Интерполационният полином използва уравнението на права линия, минаваща през две точки. По-специално за аз —ти интервал, можем да напишем уравнението на права линия, минаваща през точките ( x i, y i) И ( x i + 1 , y i + 1), като:

(3.2)

Следователно, когато използвате линейна интерполация, първо трябва да определите интервала, в който попада стойността на аргумента х, и след това го заместете във формула (3.2) и намерете приблизителната стойност на функциите в тази точка.

Фигура 3.4 показва пример за използване на линейна интерполация в програмата MathCAD. За линейна интерполация използвайте функцията linterp (х,г,z). Тук х, г- първоначални данни, z– точката, в която се намира стойността на функцията.

Ориз. 3.4. Линейна интерполация

Квадратична интерполация

Кога квадратична интерполациякато интерполационна функция върху сегмента ( x i — 1 ,x i + 1) се приема квадратичен трином. Уравнението на квадратния трином има формата

y = a i x 2 + b i x + c i , x i — 1 х x i + 1 , (3.3)

Интерполация за всяка точка х [х 0 ,xn] се извършва в трите най-близки точки.

Кубична сплайн интерполация

През последните години интензивно се развива нов клон на съвременната изчислителна математика - теорията шлици.Сплайновете позволяват ефективно решаване на проблеми с обработката на експериментални зависимости между параметри, които имат доста сложна структура.

Методите за локална интерполация, обсъдени по-горе, са по същество най-простият сплайн от първа степен (за линейна интерполация) и втора степен (за квадратична интерполация).

Поради своята простота, кубичните сплайни са намерили най-широко практическо приложение. Основните идеи на теорията на кубичните сплайни се формират в резултат на опитите за математическо описание на гъвкави ламели, изработени от еластичен материал (механични сплайни), които отдавна се използват от чертожниците в случаите, когато е необходимо да се начертае доста гладка крива през дадени точки. Известно е, че лента от еластичен материал, фиксирана в определени точки и в равновесно положение, приема форма, при която нейната енергия е минимална. Това фундаментално свойство прави възможно ефективното използване на сплайни при решаване на практически проблеми за обработка на експериментална информация.

Като цяло за функцията y = f(х) се изисква да се намери приближение y= j(х) По начина, по който f(x i)= j(x i) в точки х = х i, a в други точки на отсечката [ а, б] стойности

функции f(х) И й(х) бяха близо един до друг. С малък брой експериментални точки (например 6-8) един от методите за конструиране на интерполационни полиноми може да се използва за решаване на проблема с интерполацията. Въпреки това, с голям брой възли, интерполационните полиноми стават практически неизползваеми. Това се дължи на факта, че степента на интерполационния полином е само една по-малка от броя на експерименталните стойности на функциите. Възможно е, разбира се, да се раздели сегментът, на който е дефинирана функцията, на секции, съдържащи малък брой експериментални точки, и за всяка от тях да се конструират интерполационни полиноми. В този случай обаче апроксимиращата функция ще има точки, в които производната не е непрекъсната, т.е. графиката на функцията ще съдържа точки на „прекъсване“.

Кубичните сплайни нямат този недостатък. Изследванията на теорията на лъча показват, че гъвкав тънък лъч между два възела е сравнително добре описан от кубичен полином и тъй като той не се свива, апроксимиращата функция трябва да бъде поне непрекъснато диференцируема. Това означава, че функциите й(х), j'(х), j"(х) трябва да бъде непрекъснат на сегмента [ а, б].

Кубичен интерполационен сплайн , съответстваща на тази функция f(х) и тези възли xi,наречена функция г(х), отговарящи на следните условия:

1. на всеки сегмент [ x i — 1 ,xi], i = 1, 2, ..., нфункция г(х) е полином от трета степен,

функция г(х), и също нейните първа и втора производни са непрекъснати на интервала [ а,б],

Кубичен сплайнсе слепва от полиноми от трета степен, които за аз- раздел са написани, както следва:

За целия интервал ще бъде съответно Пкубични полиноми, различни по коефициенти Ааз, b i, c i, d i. Най-често възлите по време на сплайн интерполация се поставят равномерно, т.е. хаз +1 аз = конст = ч (въпреки че това не е необходимо).

Необходимо е да се намерят четири коефициента, при условие че всеки полином минава през две точки (x аз, г аз) и (x аз +1 , г аз +1 ) , което води до следните очевидни уравнения:

Първото условие съответства на преминаването на полинома през началната точка, второто - през крайната точка. Невъзможно е да се намерят всички коефициенти от тези уравнения, тъй като има по-малко условия от необходимите параметри. Следователно тези условия се допълват с условията за гладкост на функцията (т.е. непрекъснатост на първата производна) и гладкост на първата производна (т.е. непрекъснатост на втората производна) в интерполационните възли. Математически тези условия се записват като равенства съответно на първата и втората производни в края азта и в началото ( аз+1 )-ти парцели.

От , Че

(г(x i +1 ) накрая аз-парцел е равен на ти(хаз +1 ) първо ( аз+1 )-та),

(y"(хаз +1 ) накрая аз-парцел е равен на y" (xаз +1 ) първо ( аз+1)th).

Резултатът е система от линейни уравнения (за всички секции), съдържаща 4n - 2 уравнения с 4n неизвестни (неизвестни a 1, a 2,..., a n, b 1,..., d n - коефициенти на сплайн). За да разрешите системата, добавете две гранични условия от един от следните типове (най-често се използва 1):

Съвместното решение на 4n уравнения ви позволява да намерите всичките 4n коефициенти.

За да възстановите производните, можете да разграничите съответния кубичен полином във всеки раздел. Ако е необходимо да се определят производни във възли, има специални техники, които намаляват определянето на производни до решаване на по-проста система от уравнения за желаните производни от втори или първи ред. Важни предимства на кубичната сплайн интерполация включват получаване на функция, която има минималната възможна кривина. Недостатъците на сплайн интерполацията включват необходимостта от получаване на относително голям брой параметри.

Нека решим проблема с интерполацията с помощта на програмата MathCAD. За целта ще използваме вградената функция interp(VS,x,y,z) . Променливи х И г задайте координатите на възловите точки, z е аргумент на функция, СРЕЩУ определя типа

гранични условия в краищата на интервала.

Нека дефинираме интерполационните функции за три типа кубичен сплайн

Тук cspline (VX , VY) връща вектор СРЕЩУвтори производни при приближаване до кубичен полином в референтни точки;

pspline(VX, VY) връща вектор СРЕЩУвтори производни при приближаване на референтни точки към параболична крива;

lspline(VX, VY) връща вектор СРЕЩУвтори производни при приближаване до референтните точки на линията;

интерп(СРЕЩУ, VX, VY, х) връща стойност г(х) за дадени вектори СРЕЩУ, VX, VYи зададена стойност х.

Ние изчисляваме стойностите на интерполационните функции в дадени точки и сравняваме резултатите с точните стойности

Моля, имайте предвид, че резултатите от интерполацията от различни видове кубични сплайни са практически еднакви във вътрешните точки на интервала и съвпадат с точните стойности на функцията. Близо до краищата на интервала разликата става по-забележима и когато се екстраполира отвъд даден интервал, различните видове сплайнове дават значително различни резултати. За по-голяма яснота нека представим резултатите на графика (фиг. 3.5)

Ориз. 3.5 Кубична сплайн интерполация

Ако функцията е посочена дискретно, тогава за интерполация се посочват матрици с данни.

При глобалната интерполация най-често се използва полиномиална интерполация. н-та степен или интерполация на Лагранж.

Класическият подход се основава на изискването за строго съответствие на стойностите f(х) И й(х) в точки x i(аз = 0, 1, 2, … н).

Ще търсим интерполационната функция й(х) под формата на полином от степен н.

Този полином има n+ 1 коефициент. Естествено е да се предположи, че n+ 1 условия

й(х 0) = г 0 , й(х 1) = г 1 , . . ., й(x n) = y n (3.4)

насложен върху полинома

дават възможност за недвусмислено определяне на неговите коефициенти. Наистина взискателни за й(х) изпълнение на условията (3.4) , получаваме система n+ 1 уравнения с n+ 1 неизвестен:

(3.6)

Решаване на тази система за неизвестни а 0 1 , …, a nполучаваме аналитичен израз за полинома (3.5). Система (3.6) винаги има уникално решение , защото неговата детерминанта

известен в алгебрата като Детерминант Вандермондненулев . това предполага , че интерполационният полином й(х) за функция f(х), дадено в таблица, съществува и е уникално.

Полученото уравнение на кривата минава точно през дадените точки. Извън възлите на интерполация математическият модел може да има значителна грешка

Интерполационна формула на Лагранж

Нека стойностите на някаква функция са известни f(Х) V n+ 1 различни произволни точки y i = f(x i) , аз = 0,…, П.За интерполиране (възстановяване) на функция във всяка точка Х,принадлежащ на сегмента [ x 0, x n], необходимо е да се конструира интерполационен полином от n-ти ред, който в метода на Лагранж се представя по следния начин:

Освен това е лесно да се забележи това Qj(x i) = 0, Ако аз¹ й, И Qj(x i) =1, Ако аз= й. Ако разширим произведението на всички скоби в числителя (в знаменателя всички скоби са числа), получаваме полином от n-ти ред в Х,тъй като числителят съдържа n фактора от първи ред. Следователно, интерполационният полином на Лагранж не е нищо повече от обикновен полином от n-ти ред, въпреки специфичната форма на запис.

Оценете интерполационната грешка в точка хот [ х 0, хн] (т.е. решете второто

интерполационен проблем) може да се направи с помощта на формулата

Във формулата - максимална стойност на (n+1)-та производна на оригиналната функция f(Х)на сегмента [ х 0, хн]. Следователно, за да се оцени грешката на интерполацията, е необходима допълнителна информация за оригиналната функция (това трябва да е разбираемо, тъй като безкраен брой различни функции могат да преминат през дадени начални точки, за които грешката ще бъде различна). Такава информация е производната от ред n+1, която не е толкова лесна за намиране. По-долу ще ви покажем как да излезете от тази ситуация. Отбележете също, че прилагането на формулата за грешка е възможно само ако функцията е диференцируема n +1 пъти.

За изграждане Интерполационна формула на Лагранжв MathCAD е удобно да се използва функцията ако.

ако (условие, x, y)

Връща стойността на x, ако cond не е 0 (true). Връща стойността y, ако cond е 0 (false) (Фигура 3.6).



Подобни статии