Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Интерполирование сплайнами.




Интерполирование функции с помощью многочленов Лагранжа и Ньютона наряду с преимуществами имеет свои недостатки. Так, с увеличением числа узловых точек происходит увеличение степени интерполяционного многочлена, что усложняет практическое применение данных формул. Кроме того, если интерполяционная функция недостаточно гладкая, т.е. имеет в отдельных точках большую крутизну, то интерполяционные многочлены Лагранжа и Ньютона могут вообще не сходиться к функции или приводить к накоплению ошибок. В этом случае удобнее всего пользоваться сплайн–интерполированием.

Сплайн – функцией Sm(x) m –го порядка называется функция, удовлетворяющая следующим условиям:

1) значения функции совпадают с узловыми значениями интерполяционной функции, т.е. Sm(xi)=f(xi) на заданном интервале [xi; xi+1];

2) на всём промежутке интерполирования имеется непрерывная производная до m-1 порядка;

3) на концах k-го интервала, т.е. в местах стыка интервалов значения производных до m-1 порядка для сплайн- функций совпадают.

Как правило, на концах всего промежутка задаются дополнительные условия исходя из смыслового значения функции.

Сплайн-интерполирование – это фактически кусочное интерполирование на каждом интервале. Однако в отличие от кусочного интерполирования, приведённого ранее на границах интервалов происходит спайка сплайн-функции посредством выравнивания производных.

 
 

 

 


Чаще всего используется интерполирование кубическими сплайнами. Объясняется это тем, что из сопромата известен факт, что состояние свободного равновесия системы описывается функциями, четвёртая производная которых равна 0. Это наводит на мысль, что наиболее удобной сплайн - функцией является кубический многочлен.

Кубический сплайн на i–ом участке интерполирования [xi; xi+1] будем представлять в виде многочлена Pi(x)=ai+bi(x-xi)+ci(x-xi)2+di(x-xi)3

Тогда определить на участке i–ый сплайн означает найти неизвестные коэффициенты ai, bi, ci, di. Данные коэффициенты определяются из определения сплайн-функции, т.е. из системы уравнений

На концах всего интервала задаются дополнительные условия. Для состояния свободного равновесия системы такими условиями является равенство второй производной 0, .

Преобразуем систему

 

Из условия получим , из , из , из

 

Можно доказать, что с1=0 и сn=0

Аналогично и для сn.

 

Введём замены . Тогда система перепишется в виде:

Вычтем из второго уравнения первое и разделим на hi. Получим:

где

Четвёртое уравнение разрешим относительно di .Получим

при i=1…n-1,

Подставив di во второе уравнение получим формулу

при i=1…n-1,

Исключив из системы di и сi получим рекуррентную формулу

. Исходя из значений начальных данных или зная решение в i-ой точке находим в i+1 –ой и т.д. Т.е. получаем коэффициенты сплайнов на каждом участке между узлами.

 

Например: Построить кубический сплайн s3(x) при условии, что

для функции f(x) заданной таблично.

i
xi 0,2 0,24 0,27 0,3 0,32 0,38
f(xi) 1,2214 1,2712 1,3100 1,3499 1,3771 1,4923

Вычислить значения в точке x=0,28.

Решение

T.к. , то

ai 1,2214 1,2712 1,3100 1,3499 1,3771 1,4923

 

В данном случае h1=0,04; h2=0,03; h2=0,03; h2=0,02; h2=0,06.

; g2=1,2933; g3=1,33; g4=1,36; g5=1,92.

 

 

i=1: 0,04 с1+0,14с2+0,03с3=0,0145

i=2: 0,03 с2+0,12с3+0,03с4=0,11

i=3: 0,03 с3+0,1с4+0,02с5=0,09

i=4: 0,02 с4+0,16с5+0,06с6=1,68

c1=0; с6=0

Упростив систему получаем

Решая эту систему получаем: с1=0, с2=0,797788, с3=1,110321, с4=-1,57241, с5=10,69655, с6=0

Определив коэффициенты с1, с2, с3, с4, с5, с6, возвращаясь к исходной системе, определяем коэффициенты bi и di

В результате получаем коэффициенты сплайнов на каждом межузловом интервале.

i ai bi ci di
1,22140 1,234363 6,648236
1,27120 1,298186 0,797788 3,472588
1,31000 1,36793 1,110321 -29,8081
1,34990 1,267724 -1,57241 204,4826
1,37710 2,347862 10,69655 -59,4253
     

Предположим, что нам требуется вычислить значение функции в точке 0,28. Данная точка попадает в интервал [0,27; 0,3].

Тогда S3(xi)=1,3100+1,36793(x-0,27)+1,110321(х-0,27)2–29,8081(х-0,27)3.

S3(0,28)=1,3100+1,36793(0,28-0,27)+1,110321(0,28-0,27)2–29,8081(0,28-0,27)3.

 


Поделиться:

Дата добавления: 2015-09-14; просмотров: 540; Мы поможем в написании вашей работы!; Нарушение авторских прав


<== предыдущая лекция | следующая лекция ==>
Ошибка интерполяции | Интерполирование сплайнами
lektsii.com - Лекции.Ком - 2014-2024 год. (0.007 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты