Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import numpy as np
- import matplotlib.pyplot as plt
- # функция для разложения синуса на ряд Тейлора определенного порядка
- def mysin(x, order):
- a = x
- s = a
- for i in range(1, order):
- a *= -1 * x**2 / ((2 * i) * (2 * i + 1))
- s += a
- return s
- # векторизирование этой функции
- vmysin = np.vectorize(mysin, excluded=['order'])
- # диапазон значений
- x = np.linspace(-5, 5, 100)
- # функции для ряда 2-го и 100-го порядка
- y2 = vmysin(x, 2)
- y100 = vmysin(x, 100)
- # функция без разложения на ряд
- y = np.sin(x)
- # графики
- plt.plot(x, y, label='sin(x)')
- plt.plot(x, y2, label='order 2')
- plt.plot(x, y100, label='order 100')
- # ограничения по оси y
- plt.ylim([-3, 3])
- # легенда
- plt.legend()
- # вывод графика
- plt.show()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement