ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 02.05.2019
Просмотров: 1243
Скачиваний: 1
21
Значения коэффициентов находятся из уравнений:
????
????
=
????
????
− ????
????−1
????
????
− ????
????−1
;
????
????
= ????
????
− ????
????
????
????
Функцию ????(????) на каждом интервале можно записать в виде:
???? ???? =
????
1
− ????
0
????
1
− ????
0
???? + ????
0
−
????
1
− ????
0
????
1
− ????
0
????
0
,
????
0
< ???? < ????
1
????
2
− ????
1
????
2
− ????
1
???? + ????
1
−
????
2
− ????
1
????
2
− ????
1
????
1
, ????
1
< ???? < ????
2
… … … … … … … … … … … … … . .
????
????
− ????
????−1
????
????
− ????
????−1
???? + ????
????−1
−
????
????
− ????
????−1
????
????
− ????
????−1
????
????−1
,
????
????−1
< ???? < ????
????
Рисунок 2.3 Кусочно-линейной интерполяция
Пример
Интерполировать функцию используя кусочно-линейную интерполяцию на
интервале [0,5]
???? ???? = 0.1???? + ????
0.3????
Таблица 2.3
Узел
0
1
2
3
4
5
x
i
0
1
2
3
4
5
f(x
i
)
1
1.4499
2.0221
2.7596
3.7500
4.9817
22
Используем уравнение
????
????
− ????
????−1
????
????
− ????
????−1
???? + ????
????−1
−
????
????
− ????
????−1
????
????
− ????
????−1
????
????−1
????
????−1
< ???? < ????
????
для участка [0,1]
????
0
=
1.4499 − 1
1 − 0
???? + 1 −
1.4499 − 1
1 − 0
0 = 0.4499???? + 1
для участка [1,2]
????
1
=
2.0221 − 1.4499
2 − 1
???? + 1.4499 −
2.0221 − 1.4499
2 − 1
1
= 0.5722???? + 0.8777
для участка [2,3]
????
2
=
2.7596 − 2.0221
3 − 2
???? + 2.0221 −
2.7596 − 2.0221
3 − 2
2
= 0.7375???? + 0.5471
для участка [3,4]
????
3
=
3.75 − 2.7596
4 − 3
???? + 2.7596 −
3.75 − 2.7596
4 − 3
3 = 0.9904???? − 0.2116
для участка [4,5]
????
4
=
4.9817 − 3.75
5 − 4
???? + 3.75 −
4.9817 − 3.75
5 − 4
4 = 1.2317???? − 1.1768
Интегральная ошибка интерполяции
???? = ???? ???? − ????
0
(????)
1
0
???????? + ???? ???? − ????
1
(????)
2
1
???????? + ???? ???? − ????
2
(????)
3
2
????????
+ ???? ???? − ????
4
(????)
4
3
???????? + ???? ???? − ????
5
(????)
5
4
???????? = 0.115
23
Кубический интерполяционный сплайн
Рисунок 2.4 Кубический интерполяционный сплайн
На каждом из отрезков ????
????−1
, ????
????
, определяют сплайн-функцию ????(????) =
????????????
в виде полинома третьей степени:
????
????
???? = ????
????
+ ????
????
???? − ????
????
+ ????
????
(???? − ????
????
)
2
+ ????
????
(???? − ????
????
)
3
????
????−1
≤ ???? ≤ ????
????
,
???? = 0,1,2, … , ????,
где ????
????
, ????
????
, ????
????
, ????
????
−искомые коэффициенты.
Система уравнений для определения коэффициентов ????
????
:
ℎ
????
????
????−1
+ 2 ℎ
????
+ ℎ
????−1
????
????
+ ℎ
????+1
????
????+1
= 3
????
????+1
− ????
????
ℎ
????+1
−
????
????
− ????
????−1
ℎ
????
,
???? = 1,2, … , ???? − 1, ℎ
????
= ????
????
− ????
????−1
????
0
= ????
????
= 0.
Найдя коэффициенты ????
????
, остальные коэффициенты определяют по явным
формулам:
????
????
=
????
????+1
− ????
????
3ℎ
????
????
????
=
????
????
− ????
????−1
ℎ
????
−
1
3
ℎ
????
(????
????+1
+ 2????
????
),
24
???? = 1,2, … , ????.
????
????
= ????
????
Пример
Интерполировать функцию используя кубический интерполяционный
сплайн на интервале [0,5]. Шаг интерполяции постоянный h
i
= x
i
− x
i−1
=
1.667.
???? ???? = 0.1???? + ????
0.3????
Таблица 2.4
Узел
0
1
2
3
x
i
0
1.667
3.333
5
f(x
i
)
1
1.815
3.051
4.9817
Для определения коэффициентов ????
????
воспользуемся уравнением
ℎ
????
????
????−1
+ 2 ℎ
????
+ ℎ
????−1
????
????
+ ℎ
????+1
????
????+1
= 3
????
????+1
−????
????
ℎ
????+1
−
????
????
−????
????−1
ℎ
????
1.667 ∗ ????
0
+ 2 1.667 + 1.667 ????
1
+ 1.667????
2
= 3
3.051 − 1.815
1.667
−
1.815 − 1
1.667
1.667 ∗ ????
1
+ 2 1.667 + 1.667 ????
2
+ 1.667????
2
= 6
4.981 − 3.051
1.667
−
3.051 − 1.815
1.667
После преобразований, с учетом ????
0
= ????
3
= 0
4????
1
+ ????
2
= 0.45
????
1
+ 4????
2
= 0.773
Решив систему уравнений, получим: ????
1
= 0.0684, ????
2
= 0.1765, ????
0
= ????
3
= 0 .
Определяем коэффициенты ????
????
25
????
????
=
????
????+1
− ????
????
3ℎ
????
????
0
=
????
1
− ????
0
3ℎ
=
0.0684 − 0
3 ∗ 1.667
= 0.0137
????
1
=
????
2
− ????
1
3ℎ
=
0.1765 − 0.0684
3 ∗ 1.667
= 0.021
????
2
=
????
3
− ????
2
3ℎ
=
0 − 0.1765
3 ∗ 1.667
= −0.0353
Определяем коэффициенты ????
????
????
0
=
????
1
− ????
0
ℎ
−
1
3
ℎ ????
1
+ 2????
0
=
1.815 − 1
1.667
−
1
3
1.667 ∗ 0.0684 + 0 = 0.442
????
1
=
????
2
− ????
1
ℎ
−
1
3
ℎ ????
2
+ 2????
1
=
3.05 − 1.815
1.667
−
1
3
1.667 ∗ 0.1765 + 2 ∗ 0.0684 = 0.566
????
2
=
????
3
− ????
2
ℎ
−
1
3
ℎ ????
3
+ 2????
2
=
5 − 3.05
1.667
−
1
3
1.667 ∗ 0 + 2 ∗ 0.1765 = 0.973
Определяем коэффициенты ????
????
????
0
= ????
0
= 1
????
1
= ????
1
= 1.815
????
2
= ????
2
= 3.051
Таблица № 2.5
a
b
c
d
S
1
(x)
1
0.442
0
0.0137
S
2
(x)
1.815
0.566
0.0684 0.021
S
3
(x)
3.051
0.973
0.1765 -0.0353
Следовательно для каждого участка получим соответствующие полиномы