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

Автор работы: Пользователь скрыл имя, 15 Декабря 2011 в 06:49, лабораторная работа

Описание работы

Аппроксимировать функцию, заданную таблицей, кубическим сплайном. Построить график интерполирующего сплайна.

Файлы: 1 файл

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

— 50.42 Кб (Скачать файл)

Федеральное Государственное Автономное Образовательное  Учреждение

Высшего Профессионального Образования

Сибирский Федеральный Университет

Институт  Космических и Информационных Технологий 
 
 
 
 
 
 
 
 
 

Лабораторная  работа №6

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

      Выполнил:

Тырылгин Д.И.

Группа  КИ10-12 
 
 
 
 
 
 

  1. Задание

Аппроксимировать  функцию, заданную таблицей, кубическим сплайном. Построить график интерполирующего сплайна.

  1. Теоретические сведения

Пусть отрезок  [a,b] разбит на n частичных отрезков , где < , i=0,1, … , n-1, Обозначим . В случае равномерного разбиения h=(b-a)/n, =a+ih.

Функция f(x) задана своими значениями в узловых точках .  
 

Сплайном  называется  функция,  которая вместе  с несколькими производными  непрерывна  на  всём  заданном  отрезке [a,b],  а  на  каждом частичном отрезке в отдельности является некоторым алгебраическим многочленом.

 
 

Для гладкой  и точной интерполяции функций используются кусочно-

многочленные  функции, состоящие из многочленов. Наиболее часто в качестве аппроксимирующих применяются  кусочно-многочленные функции, состоящие из многочленов третьей степени, называемые кубическими сплайнами

Пусть даны значения где , тогда

интерполяционный  кубический сплайн  S для функции f строят следующим

образом. Считаем, что на каждом интервале  функция S согласуется с некоторым многочленом третьей степени:

, для .

Коэффициенты  сплайн-функции вычисляются по формулам 

Для определения  коэффициентов  необходимо решить систему линейных алгебраических уравнений 

После решения  этой системы коэффициентов  определяются с помощью явных формул 
 

  1. Реализация
x y ai ci di bi
1 1 1 0 0 1,000
2 2,4 2,4 0,927 0,927 1,709
3 5,4 5,4 1,093 0,167 3,519
4 10,4 10,4 0,7 -0,393 5,416
5 16,3 16,3 -1,194 -1,894 5,619
6 19,9 19,9 -2,824 -1,630 2,460
7 18,6 18,6 -2,209 0,616 -2,507
8 13,4 13,4 -0,041 2,168 -5,582
9 7,7 7,7 0,871 0,911 -5,416
10 3,6 3,6 1,357 0,486 -3,502
11 1,6 1,6 0,721 -0,636 -1,533
12 0,64 0,64 0,236 -0,486 -0,761
13 0,27 0,27 0,11 -0,129 -0,295
14 0,13 0,13 0,028 -0,078 -0,113
15 0,07 0,07 0,021 -0,007 -0,048
16 0,05 0,05 0,01 -0,012 -0,014
17 0,05 0,05 0,005 -0,004 0,003
18 0,06 0,06 0,003 -0,002 0,012
19 0,09 0,09 0,044 0,042 0,045
20 0,18 0,18 0 -0,044 0,097

Таблица 1. Исходная функция и коэффициенты

x x-xi (x-xi)^2 (x-xi)^3 ci/2*(x-xi)^2 di/6*(x-xi)^3 bi*(x-xi) S
1 0 0 0 0 0 0 1,000
1,25 0,25 0,0625 0,015625 0 0 0,25 1,250
1,5 0,5 0,25 0,125 0 0 0,5 1,584
1,75 0,75 0,5625 0,421875 0 0 0,75 1,949
2 0 0 0 0 0 0 2,400
2,25 0,25 0,0625 0,015625 0,028958686 0,002413224 0,427223162 2,859
2,5 0,5 0,25 0,125 0,115834743 0,019305791 0,854446324 3,648
2,75 0,75 0,5625 0,421875 0,260628172 0,065157043 1,281669486 4,478
3 0 0 0 0 0 0 5,400
3,25 0,25 0,0625 0,015625 0,034165257 0,000433881 0,879718933 6,314
3,5 0,5 0,25 0,125 0,136661027 0,003471047 1,759437865 7,300
3,75 0,75 0,5625 0,421875 0,307487311 0,011714785 2,639156798 8,978
4 0 0 0 0 0 0 10,400
4,25 0,25 0,0625 0,015625 0,021880287 -0,001023747 1,353901108 11,775
4,5 0,5 0,25 0,125 0,087521148 -0,00818998 2,707802215 13,187
4,75 0,75 0,5625 0,421875 0,196922583 -0,027641182 4,061703323 14,631
5 0 0 0 0 0 0 16,300
5,25 0,25 0,0625 0,015625 -0,037311405 -0,004932641 1,404676637 17,662
5,5 0,5 0,25 0,125 -0,149245618 -0,039461128 2,809353274 18,602
5,75 0,75 0,5625 0,421875 -0,335802641 -0,133181306 4,214029911 19,402
6 0 0 0 0 0 0 19,900
6,25 0,25 0,0625 0,015625 -0,088259669 -0,004245689 0,614892344 20,056
6,5 0,5 0,25 0,125 -0,353038674 -0,033965509 1,229784689 19,879
6,75 0,75 0,5625 0,421875 -0,794337017 -0,114633594 1,844677033 19,384
7 0 0 0 0 0 0 18,600
7,25 0,25 0,0625 0,015625 -0,069024921 0,001602896 -0,626746015 17,545
7,5 0,5 0,25 0,125 -0,276099685 0,012823165 -1,25349203 16,281
7,75 0,75 0,5625 0,421875 -0,621224292 0,043278181 -1,880238045 14,877
8 0 0 0 0 0 0 13,400
8,25 0,25 0,0625 0,015625 -0,001265646 0,005646606 -1,395408285 12,009
8,5 0,5 0,25 0,125 -0,005062584 0,04517285 -2,790816569 10,649
8,75 0,75 0,5625 0,421875 -0,011390815 0,152458369 -4,186224854 9,355
9 0 0 0 0 0 0 7,700
9,25 0,25 0,0625 0,015625 0,027212506 0,002373179 -1,354120846 6,375
9,5 0,5 0,25 0,125 0,108850022 0,018985434 -2,708241693 5,120
9,75 0,75 0,5625 0,421875 0,244912551 0,064075841 -4,062362539 4,309
10 0 0 0 0 0 0 3,600
10,25 0,25 0,0625 0,015625 0,042415624 0,001266926 -0,87560833 2,952
10,5 0,5 0,25 0,125 0,169662494 0,010135412 -1,751216659 2,430
10,75 0,75 0,5625 0,421875 0,381740612 0,034207015 -2,626824989 1,994
11 0 0 0 0 0 0 1,600
11,25 0,25 0,0625 0,015625 0,02253451 -0,001656759 -0,383353809 1,263
11,5 0,5 0,25 0,125 0,090138039 -0,013254076 -0,766707618 0,985
11,75 0,75 0,5625 0,421875 0,202810588 -0,044732506 -1,150061428 0,798
12 0 0 0 0 0 0 0,640
12,25 0,25 0,0625 0,015625 0,007361961 -0,001264379 -0,190322091 0,513
12,5 0,5 0,25 0,125 0,029447844 -0,010115032 -0,380644182 0,412
12,75 0,75 0,5625 0,421875 0,06625765 -0,034138235 -0,570966273 0,332
13 0 0 0 0 0 0 0,270
13,25 0,25 0,0625 0,015625 0,003330146 -0,000335985 -0,073803663 0,199
13,5 0,5 0,25 0,125 0,013320584 -0,002687877 -0,147607325 0,173
13,75 0,75 0,5625 0,421875 0,029971314 -0,009071584 -0,221410988 0,154
14 0 0 0 0 0 0 0,130
14,25 0,25 0,0625 0,015625 0,000879955 -0,000204183 -0,028213259 0,102
14,5 0,5 0,25 0,125 0,003519819 -0,001633461 -0,056426518 0,075
14,75 0,75 0,5625 0,421875 0,007919594 -0,00551293 -0,084639777 0,048
15 0 0 0 0 0 0 0,070
15,25 0,25 0,0625 0,015625 0,000650035 -1,916E-05 -0,012093301 0,059
15,5 0,5 0,25 0,125 0,002600138 -0,00015328 -0,024186603 0,048
15,75 0,75 0,5625 0,421875 0,005850311 -0,000517321 -0,036279904 0,039
16 0 0 0 0 0 0 0,050
16,25 0,25 0,0625 0,015625 0,000269907 -3,16773E-05 -0,003413535 0,047
16,5 0,5 0,25 0,125 0,001079628 -0,000253418 -0,006827071 0,044
16,75 0,75 0,5625 0,421875 0,002429163 -0,000855287 -0,010240606 0,041
17 0 0 0 0 0 0 0,050
17,25 0,25 0,0625 0,015625 0,000145337 -1,03808E-05 0,000747442 0,051
17,5 0,5 0,25 0,125 0,00058135 -8,30464E-05 0,001494885 0,052
17,75 0,75 0,5625 0,421875 0,001308037 -0,000280282 0,002242327 0,053
18 0 0 0 0 0 0 0,060
18,25 0,25 0,0625 0,015625 8,62434E-05 -4,9245E-06 0,002923765 0,063
18,5 0,5 0,25 0,125 0,000344973 -3,9396E-05 0,005847531 0,066
18,75 0,75 0,5625 0,421875 0,00077619 -0,000132962 0,008771296 0,069
19 0 0 0 0 0 0 0,090
19,25 0,25 0,0625 0,015625 0,001384689 0,000108204 0,011307496 0,103
19,5 0,5 0,25 0,125 0,005538757 0,000865631 0,022614991 0,119
19,75 0,75 0,5625 0,421875 0,012462202 0,002921503 0,033922487 0,139
20 0 0 0 0 0 0 0,180

Таблица 2 для построения Сплайна

Рисунок 1. График интерполирующего сплайна

  1. Вывод

В отличие от интерполяции многочленом Лагранжа, кубический сплайн не требует менее значительных объемов вычислений, а так же позволяет избежать резких скачков кривизны. Однако у кубических сплайнов есть недостаток: в районе точки, далеко отстоящей от соседней, такие сплайны могут делать неожиданные «выбросы».

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