У меня есть 1-D данные из 100 (x,y)
пар. Давайте назовем массив x
как data_x
и массив y
как data_y
.
Чтобы получить f(x)
:
import numpy as np
from scipy.interpolate import interp1d
f = interp1d(data_x, data_y, bounds_error=False, fill_value=np.nan)
Чтобы получить f'(x)
:
def fp(x):
return (f(x+eps) - f(x))/eps
# where eps is a very small number, for example 1e-3
Чтобы получить f''(x)
:
def fpp(x):
return (fp(x+eps) - fp(x))/eps
Для построения графика я использовал следующие команды построения:
numpoints = 100
plot_x = np.linspace(-5, 0, numpoints)
plt.plot(plot_x, f(plot_x))
plt.plot(plot_x, fp(plot_x))
plt.plot(plot_x, fpp(plot_x))
Когда я отображал эти 3 функцииЯ получаю проблемную неровную линию для второй производной. Как мне избавиться от них?
![enter image description here](https://i.stack.imgur.com/P6Zqe.png)