Я использую этот код для создания многочленов легенды от 1-го до 7-го порядка.
N = 4000
xvals = np.linspace(-1, 1, N)
def Legendre(x, n):
leg = legendre(n)
P_n = leg(x)
return P_n
for i in range(1, 8):
func = Legendre(xvals, i)
plt.plot(xvals, func, '--', label="n =" + str(i))
Он работает хорошо, но сейчас я борюсь с производными от этих функций.Я решил переключиться на NumPy, чтобы сделать это, но это довольно плохо описано, и я застрял с этой проблемой.
Вот код:
for i in range(1, 8):
func = np.polynomial.legendre.Legendre.deriv(i)
print func
ОБНОВЛЕНИЕ: Благодаря @James C.
Я использовал его предложение:
le = np.polynomial.legendre.Legendre((1,2,3,4,5,6,7))
for i in range(1,8):
print le.deriv(i)
И что я получаю примерно так:
leg([12. 45. 50. 84. 54. 77.])
leg([206. 312. 805. 378. 693.])
leg([ 690. 4494. 1890. 4851.])
leg([ 9345. 5670. 24255.])
leg([ 5670. 72765.])
leg([72765.])
leg([0.])
К сожалению, я не математик, но правильный ли это результат?Мне нужны эти производные для уравнения, и на данный момент я понятия не имею, как я могу поместить эти массивы в.
Библиотеки: https://docs.scipy.org/doc/numpy-1.15.1/reference/generated/numpy.polynomial.legendre.Legendre.deriv.html#numpy.polynomial.legendre.Legendre.deriv