Professional Documents
Culture Documents
Вар 1 Py
Вар 1 Py
1. Математичний апарат:
Поліном Лагранжа:
n
( x−x 0 ) ( x−x 1 ) … ( x−x i−1 )( x−xi +1 ) …( x−x n )
Ln ( x ) =∑ y i
i=0 ( x i−x 0 ) ( x i−x 1 ) … ( xi −xi−1 ) ( x i−x i+1 ) …(x i−x n )
y i +1− y i
Права різницева похідна: ẏ i ≈
h
i=[0 , n]
y−y
Ліва різницева похідна: ẏ i ≈ i h i −1 i=[0 , n]
y −y
Центральна різницева похідна: ẏ i ≈ i +12 h i−1 i=[0 , n]
y i +1+ yi −2 y i
Друга похідна: ÿ i ≈ h
2
i=[ 0 ,n ]
2. Код програми:
from math import exp
import numpy
'''
'''
xl = [-2.11, -1.8, -1.5, -1.15, -0.95, -0.22, -0.1, 0.34, 0.7, 1.0]
fl = [0.00003, 0.00096, 0.00674, 0.01700, 0.01818, 0.00763, 0.00693, 0.01031, 0.05819, 1.0]
a = -2.0
b = 1.0
h = 0.1
#Вспомогательная функция, которая считает полином Лагранжа максимального сетепеня на всех
масивах значений х и у
ln1 = 1
ln = 0
for k in range(len(ly)):
for j in range(len(lx)):
if j != k:
ln = ln + ly[k] * ln1
ln1 = 1
return ln
y = 0
t = 0
listx = []
listy = []
t += n
return round(y, 6)
def func(x):
y = 0
y = exp(2 * x 3 + 3 * x 2 - 5)
return y
def diff1(x):
y = 0
return y
def diff1int(x):
y = 0
if x == a:
y = round((func(a + h) - func(a)) / h, 5)
return y
if x == b:
return y
if x == i:
return y
def diff2(x):
y = 0
y = round(6 * exp(2 * x 3 + 3 * x 2 - 5) * (6 * x 4 + 12 * x 3 + 6 * x 2 + 2 * x +
1), 5)
return y
def diff2int(x):
y = 0
return y
list_2a_x = []
list_2a_y = []
list_2b = []
list_2c = []
list_3a1 = []
list_3b1 = []
list_3a2 = []
list_3b2 = []
for i in numpy.arange(a, b + h, h):
list_2a_x.append(round(i, 1))
list_2a_y.append(round(func(i), 5))
list_3a1.append(diff1(i))
list_3b1.append(diff1int(i))
list_3a2.append(diff2(i))
list_3b2.append(diff2int(i))
for i in range(len(list_2a_x)):
3. Вивід програми:
4. Висновок:
В цій лабораторній роботі було використовувалися методи
інтерполяції за допомогою поліному Лагранжа, кускової
інтерполяції, числового диференціювання для першої та другої
похідної. В результаті виконання поставленого завдання, було
отримано необхідні навички.В результаті отримуємо три таблиці
виводу значень функцій та похідних. Лабораторна робота була
виконана мовою Python.