Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Рамазанова Алсу Курсовая работа.doc
Скачиваний:
23
Добавлен:
19.09.2019
Размер:
713.73 Кб
Скачать

Построение кубического сплайна

Задача: построить кубический сплайн по 6 точкам.

Таблица зависимости значений функции от аргумента

X

1

1,2

1,4

1,6

1,8

2

Y

0,9

1,9

3,2

3,8

5,1

6,1

Вычисления:

Некоторая функция f(x) задана на отрезке [a,b], разбитом на части [xi-1,xi]. На каждом таком отрезке функция S(x) есть полином третьей степени Si(x), коэффициенты которого надо определить. Запишем для удобства Si(x) в виде:

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

Вычисление коэффициентов ai, bi, ci, di

Обозначим hi=xi-xi-1

Формулы для вычисления коэффициентов:

аi=y i-1

hi*C i-1 +2(h i -+h i+1 ) *c i+ h i *c i+1 =3(y i - y i-1 /h i - ( y i-1 - y i-2 /h i-1 ))

b i=(y i - y i-1 )/h i -h i /3*( c i+1 +2*c i )

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

Таким образом мы найдем все коэффициенты и сможем составить уравнения сплайнов для каждого отрезка [xi-1,xi].

Составим систему уравнений для вычисления , она будет состоять из 6 уравнений

0 ,8 С 2 +0,2 С 3= 4,5

0,2 С 2 +0,8 С 3+0,2 С 4 =-10,5

0,2 С 3 +0,8 С 4+0,2 С 5 =10,5

0,2 С 4 +0,8 С 5= -4,5

Коэффициенты записываем :

a

b

c

f

0

0,8

0,2

4,5

0,2

0,8

0,2

-10,5

0,2

0,8

0,2

10,5

0,2

0,8

0

-4,5

Затем по формулам :

И решаем :

А 1=- c1 / b 1 =-0,25

B 1=d1 / b 1 =5,625

А 2=- c2 / (a 2*A1 + b 2 )=-0,26667

B 2= (d2 - a 2*A1 )/( (a 2*A1 + b 2 )=-15,5

А 3=- c3 / (a 3*A2 + b 3 )=-0,26786

B 3= (d3 - a 3*A2 )/( (a 3*A2 + b 3 )=18,21429

А 4=0 ,т.к. с4 =0

B 4= (d4 - a 4*A3)/( (a 4*A3 + b 4 )=-10,9091

Обратный ход:

С5 = B4 =-10,9091

С4 =A3* С3+ B3 =21,136364

С3=A2* С2+ B2 =-21,136364

С2=A1* С1 + B1 =10,9091

С 1= С 6=0

Невязки:

r 0=0.00000000001

r 1=0.00000000000

r 2=-0.00000000000

r 3=-0.00000000000

r 4=0.00000000001

r 5=0.00000000000

Коэффициенты:

а 1=0,9 b 1=4,2727 d 1= 18,1818 c 1=0

а 2=1,9 b 2=6,45455 d 2== 53,40909 c2 = 10,9091

а 3=3,2 b 3=4,4091 d 3= 70,4091 c3 =-21,136364

а 4=3,8 b 4=4,4091 d 4=-53,40909 c4 =21,136364

а 5=5,1 b 5=6,45455 d 5=18,1818 c5 = -10,9091

а 6=6,1 b 6=0 d 6= 0 c 6=0

Находим полином третьей степени:

S 1(x)=0,9+4,2727*(x-1) +0*(x-1) 2 +18,1818*(x-1) 3=

= -21,5545+58,8182* x -54,545 *x2 +18,1818*x3

S 2(x)=1,9+6,4545*(x-1,2) +10,9*(x-1,2) 2 -53,40909*(x-1,2) 3=

= 102,1545-250,4555* x-203,1818*x2 -53,40909*x3

S 3(x)=3,2+4,40901*(x-1,4) -21,1364*(x-1,4) 2+70,4545*(x-1,4) 3 =

= -237,727+477,8636* x-317,0455*x2 +70,4545*x3

S 4(x)=3,8+4,409091*(x-1,6) +21,1364*(x-1,6 )2-53,40909*(x-1,6) 3=

= 269,6182-473,409* x+277,5*x2 -53,40909*x3

S 5(x)=5,1+6,4545*(x-1,8) -10,9091*(x-1,8) 2 +18,1818*(x-1,8) 3=

=-147,9+222,4545* x- 109,091*x2+18,1818*x 3

По этим многочленам построим график в Excel

Решение системы линейных алгебраических уравнений методом прогонки с помощью программы Excel:

a

b

c

d

A

B

c

0

0,8

0,2

4,5

-0,25

5,625

10,90909

0,2

0,8

0,2

-10,5

-0,26667

-15,5

-21,1364

0,2

0,8

0,2

10,5

-0,26786

18,21429

21,13636

0,2

0,8

0

-4,5

0

-10,9091

-10,9091

Вычислено верно.

Вычислить значение функции х0=1,5

Задача: Вычислить значение функции х0=1,5 использую полученную аппроксимирующую функции:

N(1,5 )=-125 *(1,5)5 +937,5 *(1,5)4 -2770,8333 *(1,5)3 +4031,2498 *(1,5)2 -2880,21624*1,5+808,199944=3,500246

Вычисляем значение функции х0=1,5 использую полученную аппроксимирующую функцию методом наименьших квадратов :

y=5,17x-4,257=5,17*1,5-4,257=3,498

Вычисляем значение функции х0=1,5 использую полученную полином третьей степени S(x):

S (1,5)=3,5001