Автор работы: Пользователь скрыл имя, 15 Декабря 2011 в 06:49, лабораторная работа
Аппроксимировать функцию, заданную таблицей, кубическим сплайном. Построить график интерполирующего сплайна.
Федеральное Государственное Автономное Образовательное Учреждение
Высшего Профессионального Образования
Сибирский Федеральный Университет
Институт
Космических и Информационных Технологий
Лабораторная работа №6
«Интерполяция
кубическими сплайнами»
Выполнил:
Тырылгин Д.И.
Группа
КИ10-12
Аппроксимировать функцию, заданную таблицей, кубическим сплайном. Построить график интерполирующего сплайна.
Пусть отрезок [a,b] разбит на n частичных отрезков , где < , i=0,1, … , n-1, Обозначим . В случае равномерного разбиения h=(b-a)/n, =a+ih.
Функция f(x) задана
своими значениями в узловых точках
.
Сплайном называется функция, которая вместе с несколькими производными непрерывна на всём заданном отрезке [a,b], а на каждом частичном отрезке в отдельности является некоторым алгебраическим многочленом.
Для гладкой и точной интерполяции функций используются кусочно-
многочленные функции, состоящие из многочленов. Наиболее часто в качестве аппроксимирующих применяются кусочно-многочленные функции, состоящие из многочленов третьей степени, называемые кубическими сплайнами.
Пусть даны значения где , тогда
интерполяционный кубический сплайн S для функции f строят следующим
образом. Считаем, что на каждом интервале функция S согласуется с некоторым многочленом третьей степени:
, для .
Коэффициенты
сплайн-функции вычисляются по формулам
Для определения
коэффициентов
необходимо решить систему линейных алгебраических
уравнений
После решения
этой системы коэффициентов
определяются с помощью
явных формул
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. График интерполирующего сплайна
В отличие от интерполяции многочленом Лагранжа, кубический сплайн не требует менее значительных объемов вычислений, а так же позволяет избежать резких скачков кривизны. Однако у кубических сплайнов есть недостаток: в районе точки, далеко отстоящей от соседней, такие сплайны могут делать неожиданные «выбросы».