Я написал код для аппроксимации функции полиномами Бернштейна (https://en.wikipedia.org/wiki/Bernstein_polynomial)
при
https://github.com/pdenapo/metodos-numericos/blob/master/python/bernstein.py
У меня есть функция, которая дает полином, аппроксимирующий f как бернштейна (f, n, p) (где f - функция, которую я хочу аппроксимировать, n - степень, а p - точка, где она оценивается.
def bernstein(f, n, p):return np.sum(
[f(k / n) * st.binom.pmf(k, n, p) for k in np.arange(0, n + 1)])
Теперь я хочу сгенерировать график этой функции, где f и n являются фиксированными, а p выполняется через вектор, сгенерированный np.arrange. Итак, я векторизирую функцию следующим образом:
bernstein3 = lambda x: bernstein(f, 3, x)
bernstein3 = np.vectorize(bernstein3)
y3 = bernstein3(x)
plt.plot(x, y3, 'green', label='$B_3$')
Это работает. Но я думаю, что должен быть какой-то более элегантный, или, возможно, более pythoni c способ сделать это. Любые предложения? Большое спасибо