Advertisement
Guest User

Untitled

a guest
Dec 11th, 2019
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.94 KB | None | 0 0
  1. import numpy as np
  2. import matplotlib.pyplot as plt
  3.  
  4. # функция для разложения синуса на ряд Тейлора определенного порядка
  5. def mysin(x, order):
  6.     a = x
  7.     s = a
  8.     for i in range(1, order):
  9.         a *= -1 * x**2 / ((2 * i) * (2 * i + 1))
  10.         s += a
  11.     return s
  12.  
  13. # векторизирование этой функции
  14. vmysin = np.vectorize(mysin, excluded=['order'])
  15.  
  16. # диапазон значений
  17. x = np.linspace(-5, 5, 100)
  18.  
  19. # функции для ряда 2-го и 100-го порядка
  20. y2 = vmysin(x, 2)
  21. y100 = vmysin(x, 100)
  22.  
  23. # функция без разложения на ряд
  24. y = np.sin(x)
  25.  
  26. # графики
  27. plt.plot(x, y, label='sin(x)')
  28. plt.plot(x, y2, label='order 2')
  29. plt.plot(x, y100, label='order 100')
  30.  
  31. # ограничения по оси y
  32. plt.ylim([-3, 3])
  33. # легенда
  34. plt.legend()
  35. # вывод графика
  36. plt.show()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement