Professional Documents
Culture Documents
Лаб№4
Лаб№4
ЗВІТ
з лабораторної роботи № 4
з дисципліни “Числові методи”
на тему:” Наближення значення таблично заданої функції у точці з допомогою
інтерполяційних поліномів”
Роботу виконав
студент групи 2А Окуневич Б. О.
Звіт прийняв
кандидат технічних наук, доцент Сарафаннікова Н. В.
Херсон (2022)
Мета роботи : сформувати у студентів уявлення про застосування інтерполювання
функцій для вирішення завдань, прищепити вміння складати та застосовувати
інтерполяційні формули Лагранжа заданого ступеня, багаточлени Ньютона, сплайни та
оцінювати їх похибки, дати навички у використанні програмних засобів для перевірки
отриманих результатів.
Теоретичні відомості
Інтерполяційний поліном Лагранжа
Нехай задана функція
n length( vx) 1
n3
Задаємо змінні:
i 0 n
j 0 n
f ( 2.67) 4.87
f ( 1.91) 4.154
i
XI j i vxj
XI j 0 1
P ( 0.41) 2.63
P ( 1.91) 4.154
hi xi1 xi
Given
2 3
B0 h0 C0 h0 D0 h0 y1 y0
2 3
B1 h1 C1 h1 D1 h1 y2 y1
2 3
B2 h2 C2 h2 D2 h2 y3 y2
2 3
B3 h3 C3 h3 D3 h3 y4 y3
2 3
B4 h4 C4 h4 D4 h4 y5 y4
2
B1 B0 2 C0 h0 3 D0 h0 0
2
B2 B1 2 C1 h1 3 D1 h1 0
2
B3 B2 2 C2 h2 3 D2 h2 0
2
B4 B3 2 C3 h3 3 D3 h3 0
C4 C3 3 D3 h3 0
C3 C2 3 D2 h2 0
C2 C1 3 D1 h1 0
C1 C0 3 D0 h0 0
C4 3 D4 h4 0
C0 0
f ( x 1 ) −f ( x 0 ) f ( x2 )− f ( x 1 )
f ( x 0 , x 1) = , f ( x 1 , x2 )= ( 4.1 )
x 1− x0 x 2− x 1
f ( x n ) −f ( x n−1 ) ( 4.2 )
f ( x n−1 , x n )=
x n −x n−1
і т.д.
У загальному випадку розділені різниці до-го порядку визначаються через розділені
різниці (к-1)-го порядку за рекурентною формулою:
f ( x i +1 , x i +2 ,. . . , x i+k ) −f ( x i , x i+1 , .. . , x i +k −1 )
f ( x i , x i+1 , .. . , x i +k ) = ( 4.4
xi+k −x i )
n 5
Задаємо змінні:
i 0 n
j 0 n
x vx
j
f ( x) vy
if i j 1
i
vx vx
i j
i j
Знаходимо значення функції в точці х = 0,608
f ( 0.608) 2
XI
j i j i
vx
XI 1
j 0
1 0.46 0.212 0.097 0.045 0.021
1 0.48 0.23 0.111 0.053 0.025
1 0.55 0.303 0.166 0.092 0.05
XI
1 0.62 0.384 0.238 0.148 0.092
1 0.7
0.49 0.343 0.24 0.168
1 0.75 0.563 0.422 0.316 0.237
232.351
1925.865
6306.396
a
10265.702
8300.573
2668.173
Отримали багаточлен п’ятого ступеня:
ak x
k
P( x)
k
P( 0.46) 1.636
P( 0.68) 2.183
100
0
P( xI)
vy i 100
f vxi
200
300
0 0.2 0.4 0.6 0.8
xIvxi
З малюнка видно, що графіки збудованого багаточлена Лагранжа f ( x ) та функції P ( x )
проходять через вузли інтерполяції.
5. Перевіряємо отримане значення за допомогою вбудованої функції:
linterp(vxvy 0.608) 2.004
p p
zn vxj if j i
vxi vxj
f f vy p
i
f
Інтерполювання сплайнами
Інтерпольована функція складається з шести вузлів ( n = 5)
x 0,46 0,48 0,55 0,62 0,7 0,75
F(x) 1,63597 1,73234 1,87686 2,03045 2,22846 2,35973
h x x
i i 1 i
0.02
0.07
h 0.07
0.08
0.05
0 0 0
0 0 0
B 0 C 0 D 0
0 0 0
0 0 0
Given
B h C h
0 0 0 02 D0h 03 y y
1 0
B h C h
1 1 1 12 D1h 13 y y
2 1
B h C h
2 2 2 22 D2h 23 y y
3 2
B h C h
3 3 3 32 D3h 33 y y
4 3
B h C h
4 4 4 42 D4h 43 y y
5 4
B B 2C h 3D h
1 0 0 0 0 02 0
B B 2C h 3D h
2 1 1 1 1 12 0
B B 2C h 3D h
3 2 2 2 2 22 0
B B 2C h 3D h
4 3 3 3 3 32 0
C C 3D h 0
4 3 3 3
C C 3D h 0
3 2 2 2
C C 3D h 0
2 1 1 1
C C 3D h 0
1 0 0 0
C 3D h 0
4 4 4
C 0
0
B
C Find ( BCD)
D
5.162 0 859.385
4.131 51.563 314.897
B 1.541 C 14.565 D 74.811
2.481 1.145 13.464
2.556 2.086 13.909
r ( X) Sy B Xx
0 0 C0X x02 D0X x03
0
if ( X 0.41) ( X 0.46)
S y B X x C X x D X x
2 3
if ( X 0.46) ( X 0.52)
1 1 1 1 1 1 1
S y B X x C X x D X x
2 3
if ( X 0.52) ( X 0.6)
2 2 2 2 2 2 2
S y B X x C X x D X x
2 3
if ( X 0.6) ( X 0.65)
3 3 3 3 3 3 3
S y B X x C X x D X x
2 3
if ( X 0.65) ( X 0.72)
4 4 4 4 4 4 4
S
0
3
2
120.499
vs 88.153
25.057
0.968
2.781
5.124
2.2
r ( x)
2
interp ( vs xy x)
1.8
1.6
0.4 0.5 0.6 0.7 0.8
xxx
T
y ( 1.63597 1.73234 1.87686 2.03045 2.22846 2.3597)
n 5
i 0 n
j 1 n
C y
i 0 i
C C
i j 1 i 1 j 1
C if i j 0
i j x x
i i j
1.63597 0 0 0 0 0
1.73234 4.8185 0 0 0 0
1.87686 2.06457142857130.599206349207 0 0 0
C
2.03045 2.194142857143 0.925510204082 197.029478458051 0 0
2.22846 2.475125 1.873214285714 4.307745825603 803.007219301869 0
2.3597 2.6248
1.151346153846 3.609340659341 29.3225425368282667.878195741521
n n
F( t) C if i j t x 1
i i j
i0 j 0
F( 0.608) 1.99975
3
2.5
2
y
F( t )
1.5
0.5
0.4 0.5 0.6 0.7 0.8
xt