Advertisement
575

lab3_4

575
Oct 10th, 2022
843
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.98 KB | None | 0 0
  1. def Differentiation(x, X, f):
  2.     n = np.shape(X)[0]
  3.  
  4.     # Проверка на принадлежность к одному из интервалов
  5.     for i in range(0, n-2):
  6.         if x == X[i]:
  7.             d1 = (3*f[i]-4*f[i+1]+f[i+2])/2*(X[i+2]-X[i+1])
  8.             d2 = (f[i]-2*f[i+1]+f[i+2])/(X[i+2]-X[i+1])**2
  9.         if x > X[i] and x < X[i+1]:
  10.             diff1_i1 = (f[i + 1] - f[i]) / (X[i + 1] - X[i])
  11.             diff1_i2 = (f[i + 2] - f[i + 1]) / (X[i + 2] - X[i + 1])
  12.             diff2 = (diff1_i2 - diff1_i1) / (X[i + 2] - X[i + 1])
  13.    
  14.             d1 = diff1_i1 + diff2 * (2 * x - X[i] - X[i + 1])
  15.             d2 = diff2
  16.     return d1, d2
  17.  
  18. Xi = np.array([-1.0, 0.0, 1.0, 2.0, 3.0])
  19. fi = np.array([-0.7854, 0.0, 0.78540, 1.1071, 1.249])
  20.  
  21. print("Значение 1-й производной в точке x = 1.0:", Differentiation(1.0, Xi, fi)[0])
  22. print("Значение 2-й производной в точке x = 1.0:", Differentiation(1.0, Xi, fi)[1])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement