Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from typing import Tuple
- import numpy as np
- np.set_printoptions(precision=3)
- # parametr
- n = 0.47124
- 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([0, 1.37444679])
- f_data = np.array([0, 5.02733949])
- oszacowanie = interpolacja_liniowa(x_data, f_data, n)
- wartosc_dokladna = 0.50952683754
- blad_oszacowania = (wartosc_dokladna - oszacowanie) / wartosc_dokladna * 100
- print('Wartość oszacowania w przedziale [0, 1.37444679]: {:.7f}'.format(oszacowanie))
- print('Blad oszacowania: {:.2f}%'.format(blad_oszacowania))
- print(f'podpunkt B')
- def iloraz_roznicowy(fxi, fxj, xi, xj):
- df_dx = (fxi - fxj) / (xi - xj)
- return df_dx
- f_x1x0 = iloraz_roznicowy(0.41421356, 0, 0.39269908, 0)
- f_x2x1 = iloraz_roznicowy(1.00000000, 0.41421356, 0.78539816, 0.39269908)
- f_x3x2 = iloraz_roznicowy(5.02733949, 1.00000000, 1.37444679, 0.78539816)
- print('Iloraz roznicowy pierwszego rzedu [i=0]: {:.3f}'.format(f_x1x0))
- print('Iloraz roznicowy pierwszego rzedu [i=1]: {:.3f}'.format(f_x2x1))
- print('Iloraz roznicowy pierwszego rzedu [i=2]: {:.3f}'.format(f_x3x2))
- f_x2x1x0 = iloraz_roznicowy(f_x2x1, f_x1x0, 0.78539816, 0)
- f_x3x2x1 = iloraz_roznicowy(f_x3x2, f_x2x1, 1.37444679, 0.39269908)
- print('Iloraz roznicowy drugiego rzedu [i=0]: {:.3f}'.format(f_x2x1x0))
- print('Iloraz roznicowy drugiego rzedu [i=1]: {:.3f}'.format(f_x3x2x1))
- f_x3x2x1x0 = iloraz_roznicowy(f_x3x2x1, f_x2x1x0, 1.37444679, 0)
- print('Iloraz roznicowy trzeciego rzedu [i=0]: {:.3f}'.format(f_x3x2x1x0))
- x = n
- oszacowanie = 0 + f_x1x0 * (x) + f_x2x1x0 * (x) * (x - 0.39269908) + f_x3x2x1x0 * (x) * (x - 0.39269908) * (
- x - 0.78539816)
- blad_oszacowania = (wartosc_dokladna - oszacowanie) / wartosc_dokladna * 100
- print('Wartść oszacowania: {:.7f}'.format(oszacowanie))
- print('Blad oszacowania: {:.2f}%'.format(blad_oszacowania))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement