Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import numpy as np
- np.set_printoptions(precision=3)
- #parametr
- n=13
- print(f'podpunkt A')
- def interpolacja_liniowa(x, f, xp):
- f1 = f[0] + (f[1] - f[0])/(x[1] - x[0]) * (xp - x[0])
- return f1
- x_data = np.array([1, 40])
- f_data = np.array([0, 3.68887945])
- oszacowanie = interpolacja_liniowa(x_data, f_data, n)
- wartosc_dokladna = 2.56494935746
- blad_oszacowania = (wartosc_dokladna - oszacowanie)/wartosc_dokladna * 100
- print('Wartść oszacowania w przedziale [1, 40]: {:.7f}'.format(oszacowanie))
- print('Blad oszacowania: {:.2f}%'.format(blad_oszacowania))
- print(f'podpunkt B')
- def interpolacja_kwadratowa(x, f, xp):
- b0 = f[0]
- b1 = (f[1] - f[0]) / (x[1] - x[0])
- b2 = ((f[2] - f[1]) / (x[2] - x[1]) - (f[1] - f[0]) / (x[1] - x[0])) / (x[2] - x[0])
- f2 = b0 + b1 * (xp - x[0]) + b2 * (xp - x[0]) * (xp - x[1])
- return f2
- x_data = np.array([1, 35, 40])
- f_data = np.array([0, 3.55534806, 3.68887945])
- oszacowanie = interpolacja_kwadratowa(x_data, f_data, n)
- blad_oszacowania = (wartosc_dokladna - oszacowanie)/wartosc_dokladna * 100
- print('Wartść oszacowania w przedziale [0, 40]: {:.7f}'.format(oszacowanie))
- print('Blad oszacowania: {:.2f}%'.format(blad_oszacowania))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement