Why does the graph of the derivative not correspond to the graph of the function
При помощи sympy получаю производную функции:
>>> import sympy as sp
>>> x = sp.Symbol('x')
>>> f = -0.01 * sp.sin(0.05 * x - 0.7) + 0.01 * sp.sin(6.2 * x + 4.5)
>>> f.diff(x)
−0.0005cos(0.05?−0.7)+0.062cos(6.2?+4.5)
Строю графики функции и её производной:
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(100)
plt.plot(x, -0.01 * np.sin(0.05 * x - 0.7) + 0.01 * np.sin(6.2 * x + 4.5), 'b-')
plt.twinx()
plt.plot(x, -0.0005 * np.cos(0.05 * x - 0.7) + 0.062 * np.cos(6.2 * x + 4.5), 'g-')
plt.plot(plt.xlim(), [0, 0], 'k--')
plt.show()
Не похоже, что те места, где производная равна нулю, являются экстремумом. Никак не пойму, почему.
Ответы (1 шт):
Автор решения: Chorkov
→ Ссылка
Вы поймали "интерференцию" функции синуса выбранного набора точек по x. У вас интервал между точками равен 1. А период функции равен 6.2/(2*pi) = 0.98676...
Для правильного точки отображения, нужно чтобы на каждый период функции приходилось по несколько точек по x. Например, если увеличить частоту точек в 100 раз: x = np.arange(100*100) *(1./100) , получим:

