
Информатика.-5
.pdf
61
Таблица 5.1.
xK |
f [xK ] |
f [ , ] |
f [ , , ] |
x0 |
f [x0 ] |
|
|
x1 |
f [x1 ] |
f [x0 , x1 ] |
|
x2 |
f [x2 ] |
f [x1, x2 ] |
f [x0 , x1, x2 ] |
x3 |
f [x3 ] |
f [x2 , x3 ] |
f [x1, x2 , x3 ] |
x4 |
f [x4 ] |
f [x3 , x4 ] |
f [x2 , x3 , x4 ] |
f [ , , , ] |
f [ , , , , ] |
f [x0 , x1, x2 , x3 ] |
|
f [x1, x2 , x3 , x4 ] |
f [x0 , x1, x2 , x3 , x4 ] |
Значения диагональных элементов и являются значениями коэффициентов полинома Ньютона.
Рассмотрим ее на примере нахождения коэффициентов полинома Ньютона для
шести точек |
x0 =1, |
x1 = 2 , x2 |
=3, |
x3 = 4 , |
x4 =5, x5 |
= 6. Значения |
y0 = −3, y1 = 0 , |
|||||
y |
2 |
=15 , |
y |
= 48, |
y |
4 |
=105 , |
y |
=192 |
получены |
для функции |
f (x) = x3 − 4x . |
|
|
3 |
|
|
|
5 |
|
|
|
|
Процедура нахождения коэффициентов полинома Ньютона дана в таблице 5.2.
Таблица 5.2.
xK |
f [xK ] |
f [ , ] |
f [ , , ] |
f [ , , , ] |
f [ , , , , ] |
f [ , , , , , ] |
1 |
-3 |
|
|
|
|
|
2 |
0 |
3 |
|
|
|
|
3 |
15 |
15 |
6 |
|
|
|
4 |
48 |
33 |
9 |
1 |
|
|
5 |
105 |
57 |
12 |
1 |
0 |
|
6 |
192 |
87 |
15 |
1 |
0 |
0 |
Коэффициенты полинома получили значения a0 = −3, a1 =3, a2 = 6 , a3 =1, a4 = a5 = 0 . Проведем проверку полученных результатов. Полином Ньютона имеет вид
P5 (x) = a0 +a1 (x − x0 ) +a2 (x − x0 ) (x − x1 ) +a3 (x − x0 ) (x − x1 ) (x − x2 ) .
Подставим вместо x0 , x1, x2 и a0 ,a1,a2 ,a3 их значения
P5 (x) = −3 +3 (x −1) +6 (x −1) (x −2) +(x −1) (x −2) (x −3) = .
−3 +3x −3 +6x2 −18x +12 + x3 −3x2 +2x −3x2 +9x −6 = x3 −4x
Это соответствует приведенной ранее функции.
Кдостоинствам данного метода можно отнести
•меньшая погрешность интерполяции при близкорасположенных узлах;
62
•возможность использования вложенных умножений при вычислении значений полинома;
•коэффициенты полинома получаются более простым способом, чем при
интерполяции алгебраическим полиномом.
Недостатком является проведение предварительных расчетов коэффициентов.
5.4 Интерполяция параболическим сплайном
Сплайном называется функция, определенная на отрезке [a;b] , совпадающая на частичных отрезках с некоторыми алгебраическими многочленами степени не выше m и имеющая непрерывную (m - 1) -ю производную.
Параболическим сплайном называют совокупность многочленов второй степени
вида
ϕi (x) = ai +bi (x − xi ) + ci (x − xi )2 ,
где ai ,bi ,ci - коэффициенты параболических полиномов, i = 0,1,..., N −1; N – число узловых точек.
Коэффициенты ai ,bi ,ci находятся при решении системы линейных уравнений,
которые получаются из выполнения трех условий:
•равенство значений сплайна и аппроксимируемой функции в узлах (условие Лагранжа): ϕi (xi ) = yi , ϕi (xi+1 ) = yi+1 ;
•непрерывность первой производной в узловых точках: ϕ′i (xi+1 ) = ϕ′i+1 (xi+1 ) ;
•равенства некоторому значению D первой производной в начале или на
конце интервала: ϕ′0 (x0 ) = D или ϕ′N −1 (xN ) = D .
Первая производная параболического многочлена равна соответственно
ϕ′i (x) =bi + 2ci (x − xi ) .
Таким образом, если имеется N узловых точек, то для интерполяции сплайном будут использованы (N - 1) параболических многочленов. Поскольку каждый многочлен содержит три коэффициента, то общее число неизвестных 3 (N −1) . Выполнение условия Лагранжа дает 2 (N −1) уравнений. Поскольку число внутренних узлов (N - 2),
то выполнение для них равенства первой производной дает (N - 2) уравнений. Еще одно уравнение дает выполнение равенства нулю первой производной первого многочлена в начале отрезка интерполяции. Общее число уравнений получается равным
63
2 (N −1) + N − 2 +1 = 2N −2 + N −1 =3N −3 =3 (N −1) ,
что соответствует числу неизвестных коэффициентов.
Решая данную систему уравнений, можно определить их значения.
Рассмотрим пример нахождения сплайна, если даны следующие значения узловых точек: {0;0}, {1;0,5},{2;2},{3;1,5}, а производная в конце интервала равна нулю.
Поскольку имеется четыре узловых точки, то сплайн состоит из трех параболических многочленов. Общее число неизвестных коэффициентов – 9. Выполнение условий Лагранжа определит 6 уравнений системы, два уравнения будут получены при выполнении непрерывности первой производной, и еще одно уравнение получится за счет равенства нулю первой производной в начале области определения.
В результате получается система, состоящая из 9 уравнений, решая которую, получим значения коэффициентов сплайна.
ϕ |
0 |
(x ) = y |
0 |
|
a0 = 0 |
|
|
|
|||||
ϕ |
0 |
|
|
a |
|
|
|
|
|
||||
0 |
(x ) = y |
|
|
|
|
+b (1−0) |
+c (1 |
−0)2 |
= 0,5 |
||||
|
|
1 |
1 |
|
|
0 |
0 |
0 |
|
|
|||
ϕ |
|
(x ) = y |
|
|
|
a |
= 0,5 |
|
|
|
|||
|
1 |
1 |
1 |
|
|
1 |
|
|
|
|
|||
ϕ1 |
(x2 ) = y2 |
|
|
a1 +b1 (2 −1) +c1 (2 −1)2 = 2 |
|||||||||
|
|
|
(x2 ) = y2 |
|
|
|
= 2 |
|
|
|
|||
ϕ2 |
a2 |
|
|
|
|||||||||
ϕ |
2 |
(x ) = y |
|
|
|
a |
2 |
+b (3 −2) |
+c (3 − 2)2 |
=1,5 |
|||
|
|
3 |
3 |
|
|
|
2 |
2 |
|
|
|||
|
′ |
|
′ |
(x1 ) |
|
b0 + 2c0 (1−0) =b1 |
|
|
|||||
ϕ0 |
(x1 ) = ϕ1 |
|
|
|
|||||||||
|
′ |
|
′ |
(x2 ) |
|
|
|
+ 2c1 (2 −1) =b2 |
|
|
|||
ϕ1 |
(x2 ) = ϕ2 |
|
b1 |
|
|
||||||||
|
′ |
(x3 ) = 0 |
|
|
|
|
|
|
|
|
|
||
|
|
|
|
b2 + 2c2 (3 −2) = 0 |
|
|
|||||||
ϕ2 |
|
|
|
|
|
||||||||
Значения трех коэффициентов определены: a0 = 0 , |
a1 = 0,5 , a2 = 2 . Подставим |
их значения в систему и исключим три уравнения.
b0 +c0 = 0,50,5 +b1 +c1 = 2
2 +b2 +c2 =1,5
b0 + 2c0 =b1
b1 + 2c1 =b2b2 + 2c2 = 0
b |
+c |
= 0,5 |
|
0 |
0 |
|
|
b1 +c1 =1,5 |
|||
b2 |
+c2 |
= −0,5 |
|
b0 |
+ 2c0 |
=b1 |
|
b |
+ 2c |
|
=b |
1 |
1 |
2 |
|
b |
+ 2c |
2 |
= 0 |
2 |
|
|
Если из шестого уравнения вычесть третье уравнение, то можно найти значения коэффициентов c2 = 0,5 , b2 = −1. Вычитая из пятого уравнение второе уравнение,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
64 |
|
находим значения коэффициентов: |
c1 =b1 −1,5 = −2,5 , |
b1 =1,5 −2c1 = 4. |
Вычитая из |
||||||||||||||||||||||||
четвертого уравнения первое, находим c0 |
=b1 −0,5 =3,5 , |
b0 = 0,5 −c0 = −3. |
|
|
|||||||||||||||||||||||
|
|
|
В результате получаются уравнения параболических многочленов сплайна |
|
|
||||||||||||||||||||||
|
|
|
ϕ |
(x) =3,5 x2 |
−3x , при x [x ; x ]; |
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
0 |
|
|
|
|
|
|
|
|
|
|
0 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ϕ (x) = −2,5 (x −1)2 |
+ 4 (x −1) +0,5 = −2,5 x2 |
+9x −6 , при x [x ; x ]; |
||||||||||||||||||||||
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
2 |
|
|
|
|
ϕ |
(x) = 0,5 (x −2)2 |
−1 (x −2) + 2 = 0,5 x2 −3x +6 при x [x ; x ]. |
|
|
||||||||||||||||||||
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
3 |
|
|
|
|
|
|
В общем случае итерационная процедура нахождения коэффициентов |
||||||||||||||||||||||||
параболических многочленов следующая. |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
1. Находятся значения hK |
по формуле hK = xK +1 − xK |
при K = 0,1,...,(N −1) . |
||||||||||||||||||||||
|
|
|
2. Находятся значения zK |
по формуле zK = |
yK +1 − yK |
при K = 0,1,...,(N −1) . |
|||||||||||||||||||||
|
|
|
|
||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
hK |
|
|
|
|
|
|
|
|
|
|
|
|
|
3. Находятся значения коэффициентов aK , bK , cK параболических полиномов при |
||||||||||||||||||||||||
K = 0,1,...,(N −1) по следующим формулам |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
• |
если задано |
значение первой |
производной |
D в начале |
интервала |
интерполяции |
|||||||||||||||||||||
|
a |
K |
= y |
K |
, |
b |
= 2 z |
K |
−b |
|
(значение b = D ), |
|
|
c |
K |
= |
bK +1 −bK |
: |
|||||||||
|
|
|
|
|
|||||||||||||||||||||||
|
|
|
|
|
K |
|
|
|
K −1 |
|
|
0 |
|
|
|
|
|
|
2 |
hK |
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
• |
если задано |
значение первой |
производной |
D в конце |
интервала |
интерполяции |
|||||||||||||||||||||
|
a |
K |
= y |
K |
, |
b |
= 2 z |
K |
−b |
|
(значение b = D ), |
|
|
c |
K |
= |
bK +1 −bK |
. |
|||||||||
|
|
|
|
|
|||||||||||||||||||||||
|
|
|
|
|
K |
|
|
|
K +1 |
|
|
N |
|
|
|
|
|
2 |
hK |
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Результаты нахождения коэффициентов параболических многочленов сплайна для рассмотренного выше примера (значения узловых точек: {0;0}, {1;0,5}, {2;2}, {3;1,5})
даны в таблице 5.3.
Таблица 5.3.
i |
xi |
yi |
hi |
zi |
ai |
bi |
ci |
0 |
0 |
0 |
1 |
0,5 |
0 |
-3 |
3,5 |
|
|
|
|
|
|
|
|
1 |
1 |
0,5 |
1 |
1,5 |
0,5 |
4 |
-2,5 |
|
|
|
|
|
|
|
|
2 |
2 |
2 |
1 |
-0,5 |
2 |
-1 |
0,5 |
|
|
|
|
|
|
|
|
3 |
3 |
1,5 |
|
|
|
0 |
|
|
|
|
|
|
|
|
|
65
5.5 Интерполяция кубическим сплайном
Кубическим сплайном называют совокупность многочленов третьей степени вида
ϕi (x) = ai +bi (x − xi ) +ci (x − xi )2 + di (x − xi )3 ,
где ai ,bi ,ci ,di - коэффициенты кубических полиномов, i = 0,1,..., N −1; N – число узловых точек.
Коэффициенты ai ,bi ,ci ,di находятся при решении системы линейных уравнений,
которые получаются из выполнения трех условий:
•равенство значений сплайна и аппроксимируемой функции в узлах (условие
|
Лагранжа): ϕi (xi ) = yi , ϕi (xi+1 ) = yi+1 ; |
|
|
|
|||
• |
непрерывность |
первой |
и второй |
производной |
в узловых |
точках: |
|
|
′ |
′ |
′′ |
′′ |
|
|
|
|
ϕi (xi+1 ) = ϕi+1 (xi+1 ) , ϕi (xi+1 ) = ϕi+1 (xi+1 ) ; |
|
|
||||
• |
равенства |
нулю |
вторых |
производных |
на концах |
′′ |
(x0 ) = 0 , |
интервала ϕ0 |
ϕ′′N −1 (xN −1 ) = 0 .
Первая и вторая производные кубического многочлена равна соответственно
ϕ′i (x) =bi + 2ci (x − xi ) +3di (x − xi )2 , ϕ′′i (x) = 2ci +6di (x − xi ) .
Таким образом, если имеется N узловых точек, то для интерполяции сплайном будут использованы (N - 1) кубических многочленов. Поскольку каждый многочлен содержит четыре коэффициента, то общее число неизвестных 4 (N −1) . Выполнение условия Лагранжа дает 2 (N −1) уравнений. Поскольку число внутренних узлов (N - 2),
то выполнение для них равенства первой производной дает (N - 2) уравнений, и столько же уравнений дает выполнение равенства второй производной. Еще два уравнения дает выполнение равенства нулю вторых производных на концах отрезка. Общее число уравнений получается равным
2 (N −1) + N −2 + N −2 + 2 = 2N −2 + 2N −2 = 4N −4 = 4 (N −1) ,
что соответствует числу неизвестных коэффициентов.
Решая данную систему уравнений, можно определить их значения.
Рассмотрим пример нахождения сплайна, если даны следующие значения узловых точек: {0;0}, {1;0,5},{2;2},{3;1,5}.
Поскольку имеется четыре узловых точки, то сплайн состоит из трех кубических многочленов. Общее число неизвестных коэффициентов – 12. Выполнение условий
66
Лагранжа определит 6 уравнений системы, два уравнения будут получены при выполнении непрерывности первой производной, еще два уравнения получатся при выполнении непрерывности второй производной, и оставшиеся два уравнения получатся за счет равенства нулю второй производной на краях области определения.
В результате получается система, состоящая из 12 уравнений, решая которую, получим значения коэффициентов сплайна.
ϕ |
0 |
|
(x ) |
= y |
0 |
|
|
a0 = 0 |
|
|
|
|
|
|
|
|
|
|
||||||||||
ϕ |
|
|
|
0 |
|
|
|
|
|
a0 |
|
|
|
|
|
|
|
|
|
|
|
|
||||||
0 |
|
(x ) |
= y |
|
|
|
|
+b0 (1−0) + c0 (1−0)2 + d0 (1−0)3 = 0,5 |
||||||||||||||||||||
|
|
|
|
|
1 |
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
ϕ |
|
(x ) |
= y |
|
|
|
|
|
a = 0,5 |
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
1 |
|
|
|
1 |
|
1 |
|
|
|
|
|
+b1 (2 −1) + c1 (2 −1)2 + d1 (2 −1)3 = 2 |
|||||||||||||||
ϕ1 (x2 ) = y2 |
|
|
|
a1 |
||||||||||||||||||||||||
ϕ |
|
|
(x ) |
= y |
|
|
|
|
a |
|
= 2 |
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
2 |
|
|
|
2 |
|
|
|
2 |
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
ϕ2 (x3 ) = y3 |
|
|
|
a2 |
+b2 (3 − 2) + c2 (3 − 2)2 + d2 (3 − 2)3 |
=1,5 |
||||||||||||||||||||||
|
|
′ |
|
|
|
|
|
|
′ |
(x1 ) |
|
|
b |
|
+ 2c (1− |
0) +3d |
|
(1− |
0) |
2 |
=b |
|
||||||
|
ϕ0 |
|
(x1 ) = ϕ1 |
|
|
|
0 |
|
|
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
0 |
|
|
|
|
|
|
|
1 |
|
||||
|
|
′ |
|
|
|
|
|
|
′ |
(x2 ) |
|
|
b |
|
+ 2c |
(2 − |
1) +3d (2 − |
1) |
2 |
=b |
|
|||||||
|
ϕ1 |
(x2 ) = ϕ2 |
|
|
|
|
|
|
||||||||||||||||||||
|
′′ |
(x1 ) |
|
|
′′ |
|
|
1 |
|
1 |
|
|
1 |
|
|
|
|
2 |
|
|||||||||
ϕ0 |
|
= ϕ1 |
(x1 ) |
|
2c + 6d |
|
(1−0) = 2c |
|
|
|
|
|
||||||||||||||||
|
|
′′ |
|
|
|
|
|
′′ |
|
|
|
|
|
0 |
|
0 |
|
|
|
1 |
|
|
|
|
|
|||
|
ϕ1 |
(x2 ) |
= ϕ2 |
(x2 ) |
|
|
2c + 6d (2 −1) = 2c |
2 |
|
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
1 |
|
|
|
|
|
|
|
|
||||
ϕ′′0 (x0 ) = 0 |
|
|
|
|
2c |
+ 6d |
|
(0 |
−0) = 0 |
|
|
|
|
|
|
|||||||||||||
|
|
′′ |
(x ) |
= 0 |
|
|
|
|
|
|
|
0 |
|
0 |
|
|
|
|
|
|
|
|
|
|||||
ϕ |
2 |
|
|
|
|
|
2c |
+ 6d |
|
(3 |
− 2) = 0 |
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
3 |
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
Значения четырех коэффициентов определены: a0 |
= 0 , a1 = 0,5 , |
a2 = 2 , c0 = 0 . |
||||||||||||||||||||||||||
Подставим их значения в систему и исключим четыре уравнения. |
|
|||||||||||||||||||||||||||
b0 + d0 = 0,5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
0,5 +b + c |
+ d |
|
= 2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
1 |
|
|
1 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
2 |
+b2 + c2 |
|
+ d2 |
=1,5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
+3d0 =b1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
b0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
+ 2c1 +3d1 =b2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
b1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
6d |
|
= 2c |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
0 |
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2c1 + 6d1 = 2c2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
2c |
2 |
+ 6d |
2 |
= 0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
Из последних трех уравнений следует |
|
|
|
|
|
|
|
|||||||||||||||||||||
6d0 |
|
|
+ 6d1 = −6d2 |
|
или −d2 |
= d0 + d1 . |
|
|
|
|
|
|
|
Подставим это соотношение в последнее уравнение.
c2 = −3d2 = −3 (d0 + d1 ) .
В результате получим систему уравнений, состоящую из 8 уравнений
67
b |
|
= 0,5 − d |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
0 |
|
|
|
|
|
|
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
b1 + c1 + d1 =1,5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
+ c2 + d2 |
|
= −0,5 |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
b2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
c1 =3d0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
= −3d2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
c2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
b |
|
=b + |
3d |
0 |
= |
0,5 − d |
0 |
+3d |
0 |
= 0,5 + 2d |
0 |
|
|
|
|
|
||||||||||
|
1 |
|
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
b2 |
=b1 + 2c1 +3d1 = 0,5 + 2d0 |
+6d0 +3d1 = 0,5 +8d0 +3d1 |
||||||||||||||||||||||||
6d |
0 |
+ 6d |
= −6d |
2 |
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
Подставим соотношения, полученные для b1 , b2 , c1 , c2 , во второе и третье |
||||||||||||||||||||||||||
уравнение и получим |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
0,5 + 2d |
|
+3d |
|
+ d =1,5 |
|
|
5d |
|
+ d =1 |
|||||||||||||||||
|
|
|
|
|
|
|
0 |
|
|
|
|
0 |
|
|
1 |
|
|
|
|
|
|
|
0 |
1 |
|
|
0,5 +8d0 |
+3d1 −3d2 + d2 |
= −0,5 8d0 |
+3d1 − 2d2 = −1 |
|||||||||||||||||||||||
d |
2 |
|
= −d |
0 |
− d |
|
|
|
|
|
|
|
|
|
d |
2 |
= −d |
0 |
− d |
|||||||
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|||||
Из первого уравнения следует d1 =1−5d0 . |
|
|
|
|
|
|||||||||||||||||||||
Из третьего уравнения следует d2 = −d0 −d1 = −d0 |
−1+5d0 = 4d0 −1. |
|||||||||||||||||||||||||
Подставим эти выражения во второе уравнение и найдем значение d0 . |
||||||||||||||||||||||||||
8d0 +3 (1−5d0 ) − 2 (4d0 −1) = −1 15d0 = 6 d0 = 0,4 . |
||||||||||||||||||||||||||
Тогда d1 =1−5 0,4 = −1, |
d2 = 4 0,4 −1 = 0,6 , |
|
|
|||||||||||||||||||||||
c1 =3 0,4 =1,2, |
|
c2 |
= −3 0,6 = −1,8 , |
|
|
|
|
|
|
|||||||||||||||||
b0 |
= 0,5 −0,4 = 0,1, |
b1 = 0,5 + 2 0,4 =1,3, |
b2 = 0,5 +8 0,4 +3 (−1) = 0,7 . |
|||||||||||||||||||||||
В результате получаются уравнения кубических многочленов сплайна |
||||||||||||||||||||||||||
ϕ0 (x) = 0,4 x3 + 0,1 x , |
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
ϕ (x) = −(x −1)3 +1,2 (x −1)2 |
+1,3 (x −1) +0,5 , |
|||||||||||||||||||||||||
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ϕ2 (x) = 0,6 (x − 2)3 −1,8 (x − 2)2 + 0,7 (x − 2) + 2 .
В общем случае итерационная процедура нахождения коэффициентов кубических
многочленов следующая. |
|
|
|
|
1. |
Находятся значения hK |
по формуле hK = xK +1 − xK при K = 0,1,...,(N −1) . |
||
2. |
Находятся значения gK |
по формуле gK = |
yK +1 − yK |
при K = 0,1,...,(N −1) . |
|
||||
|
|
|
hK |
|
3. |
Находятся значения uK |
по формуле uK = 6 (gK − gK −1 ) при K =1,...,(N −1) . |
68
4. Находятся значения mK при решении системы линейных уравнений |
||||||||
2 (h0 + h1 ) m1 + h1 m2 =u1 |
|
|
|
|||||
|
mK −1 |
+ 2 (hK −1 + hK ) mK + hK mK +1 =uK , K = 2,3,...,(N −2) |
||||||
hK −1 |
||||||||
h |
m |
N −2 |
+ 2 (h |
+ h |
) m |
N −1 |
=u |
N −1 |
N −2 |
|
N −2 |
N −1 |
|
|
5.Принимается m0 = mN = 0
6.Находятся значения коэффициентов aK , bK , cK , dK кубических полиномов при K = 0,1,...,(N −1) по следующим формулам
aK = yK |
, |
cK |
= |
mK |
, |
dK |
= |
mK +1 − mK |
, |
|
|
||||||||||
|
|
|||||||||
|
|
|
|
2 |
|
|
|
6 hK |
||
b = g |
K |
− |
hK (2 mK + mK +1 ) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
K |
|
6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Результаты нахождения коэффициентов кубических многочленов сплайна для рассмотренного выше примера (значения узловых точек: {0;0}, {1;0,5}, {2;2}, {3;1,5})
даны в таблице 5.4.
Таблица 5.4.
i |
xi |
yi |
hi |
gi |
ui |
mi |
ai |
bi |
ci |
di |
|
|
|
|
|
|
|
|
|
|
|
0 |
0 |
0 |
1 |
0,5 |
|
0 |
0 |
0,1 |
0 |
0,4 |
|
|
|
|
|
|
|
|
|
|
|
1 |
1 |
0,5 |
1 |
1,5 |
6 |
0,5 |
0,5 |
1,3 |
1,2 |
-1 |
|
|
|
|
|
|
|
|
|
|
|
2 |
2 |
2 |
1 |
-0,5 |
-12 |
2 |
2 |
0,7 |
-1,8 |
0,6 |
|
|
|
|
|
|
|
|
|
|
|
3 |
3 |
1,5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5.6Метод наименьших квадратов
Внауке и технике при проведении исследований часто получают совокупность узловых точек {x1; y1}, {x2 ; y2},…, {xN ; yN }, про которые априорно известно, что они
определены с экспериментальной погрешностью. Поэтому не имеет смысла добиваться выполнения условия Лагранжа, чтобы интерполирующая функция обязательно проходила бы через узловые точки. Достаточно того, чтобы ошибки интерполяции (отклонения или остатки) были бы минимальны.
Предположим, что интерполирующая функция имеет вид
ϕ(x) = c1 ϕ1 (x) + c2 ϕ2 (x) +... + cm ϕm (x) ,

|
|
69 |
где ϕ1 (x),ϕ2 (x),...,ϕm (x) - базисные функции, выбираемые исходя |
из предметной |
|
области исследования. |
|
|
Погрешность интерполяции в точке xi равна | ϕ(xi ) − yi |. |
|
|
Среднеквадратичная ошибка интерполяции σ в точках x1, x2 ,..., xN |
равна |
|
σ = |
1 ∑[ϕ(xi ) − yi ]2 . |
|
|
N |
|
N i=1
Обозначим Q значение суммы
Q= ∑[ϕ(xi ) − yi ]2
i=1N
Задача интерполяции по методу наименьших квадратов сводится к нахождению значений коэффициентов c1,c2 ,...,cm , при которых величина Q получает минимальное значение.
Для нахождения значений c1,c2 ,...,cm требуется вычислить частные производные величины Q по этим коэффициентов, приравнять их к нулю и решить систему линейных
уравнений. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
∂Q |
|
|
|
|
|
n |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
∂c1 |
= 0 |
|
2 ∑(c1ϕ1 (xi ) + c2ϕ2 (xi ) +... + cmϕm (xi ) − yi ) ϕ1 (xi ) = 0 |
|
||||||||||||||||||
|
∂Q |
|
|
|
|
|
i=1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
n |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
= 0 |
|
2 |
∑(c1ϕ1 (xi ) + c2ϕ2 (xi ) +... + cmϕm (xi ) − yi ) ϕ2 (xi ) = 0 |
||||||||||||||||||||
|
∂c2 |
|
|||||||||||||||||||||
|
|
|
|
|
i=1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
∂Q |
|
|
|
|
|
n |
(c ϕ (x ) + c ϕ (x ) +... + c ϕ (x ) − y ) ϕ (x ) = 0 |
|||||||||||||||
|
= 0 |
2 |
|||||||||||||||||||||
|
∂cm |
|
|
|
= |
|
i |
2 2 |
i |
m m i |
|
i |
m |
i |
|
|
|||||||
|
|
|
|
|
|
i 1 |
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
∑ 1 1 |
|
|
|
|||||||||||||
Сократим на 2 левую часть уравнений, раскроим скобки и перенесем слагаемые |
|||||||||||||||||||||||
независящие от c1,c2 ,...,cm в правую часть уравнений. В результате получим: |
|
|
|||||||||||||||||||||
|
n |
|
|
ϕ1 (xi ) + c2ϕ2 (xi ) ϕ1 (xi ) +... + cmϕm (xi ) ϕ1 (xi ))= yi |
|
|
|
|
|||||||||||||||
∑(c1ϕ1 (xi ) |
ϕ1 (xi ) |
||||||||||||||||||||||
|
i=1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
n |
|
|
|
|
|
|
+ c2ϕ2 (xi ) ϕ2 (xi ) +... +cmϕm (xi ) ϕ2 (xi ))= yi |
|
|
|
|||||||||||||
∑(c1ϕ1 (xi ) |
ϕ2 (xi ) |
ϕ2 |
(xi ) |
||||||||||||||||||||
i=1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
n (c ϕ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(x ))= y |
|
|
|
|||
|
(x ) |
ϕ |
m |
(x ) |
+ c ϕ |
(x ) ϕ |
m |
(x ) +... + c |
ϕ |
m |
(x ) ϕ |
m |
ϕ |
m |
(x ) |
||||||||
∑ |
1 1 |
i |
|
|
i |
2 2 |
|
i |
i |
m |
i |
|
i |
i |
i |
||||||||
i=1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Это система линейных уравнений. В матричной форме она имеет вид:

70
(ϕ1ϕ1 ) |
(ϕ1ϕ2 ) |
(ϕ1ϕm ) |
c1 |
|
|
(ϕ1 y) |
|
|||||||||
|
(ϕ ϕ |
) |
(ϕ |
ϕ |
) |
(ϕ |
ϕ |
|
) |
c |
|
= |
|
(ϕ |
y) |
, |
|
1 2 |
|
2 |
2 |
|
2 |
|
m |
|
2 |
|
|
2 |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(ϕ1ϕm ) (ϕ2ϕm ) |
(ϕmϕm ) |
cm |
|
(ϕm y) |
|
|||||||||||
|
|
|
|
n |
|
|
|
|
|
|
|
n |
|
|
|
|
где (ϕjϕk ) = ∑ϕj (xi ) ϕk (xi ) , |
(ϕj y) = ∑ϕj (xi ) yi . |
|||||||||||||||
|
|
|
i=1 |
|
|
|
|
|
|
|
i=1 |
|
|
|
Введем обозначения:
(ϕ1ϕ1 ) |
(ϕ1ϕ2 ) |
||||
|
(ϕ ϕ |
) |
(ϕ |
ϕ |
) |
Γ = |
1 2 |
|
2 |
2 |
|
|
|
|
|
|
|
(ϕ1ϕm ) (ϕ2ϕm )
(ϕ1ϕm ) (ϕ2ϕm )
(ϕmϕm )
|
c1 |
|
|
|
c |
|
, |
|
, C = 2 |
|
|
|
|
|
|
|
|
|
|
|
cm |
|
|
(ϕ y) |
|
|
1 |
|
Y = |
(ϕ2 y) . |
|
|
|
|
|
|
|
(ϕm y)
Тогда получим матричное уравнение
Γ C = Y ,
где Γ - квадратная матрица, имеющая размер m ×m , называемая матрицей Грама; Свойства матрицы Грама.
1.Матрица Грама является квадратной.
2.Матрица Грама является симметричной.
Вектор столбец неизвестных коэффициентов c1,c2 ,...,cm определяется по формуле
C = Γ−1 Y .
Рассмотрим конкретный пример. Даны результаты измерений {0;0}, {1;0,5},
{2;2}, {3;1,5}. Требуется найти по методу наименьших квадратов провести прямую,
проходящую через начало координат. Уравнение прямой, проходящей через начало координат, имеет вид y = k x . Тогда имеем: m =1, c1 = k , ϕ1 (x) = x . В данном случае
|
n |
|
n |
|
|
|
|
n |
n |
||
(ϕ1ϕ1 ) = ∑ϕ1 (xi ) ϕ1 (xi ) = ∑xi2 , |
(ϕ1 y) = ∑ |
ϕ1 (xi ) yi = ∑xi yi . Значение c1 |
|||||||||
|
i=1 |
|
i=1 |
|
|
|
|
i=1 |
i=1 |
||
|
|
|
|
|
|
n |
|
|
|
|
|
|
|
|
c |
= |
∑xi |
yi |
|
|
|
||
определяется по |
формуле |
i=1 |
|
. Для |
приведенных результатов измерений |
||||||
|
|
||||||||||
|
|
|
1 |
|
|
n |
|
|
|
|
|
|
|
|
|
|
|
∑xi2 |
|
|
|
||
∑xi2 |
= 0 +1+ 4 +9 =14 , ∑xi |
yi |
i=1 |
|
|
|
|
|
|||
= 0 + 0,5 + 4 + 4,5 =9 , c1 = 9 . |
|||||||||||
4 |
|
|
4 |
|
|
|
|
|
|
|
|
i=1 |
|
|
i=1 |
|
|
|
|
|
14 |
|
Получаем уравнение прямой y =149 x .