#我有Hermite多项式的递归关系:
Hn+1(x)=2xHn(x)−2nHn−1(x), n≥1,
H0(x)=1, H1(x)=2x.
我需要使用python 2.7为任何Hermite多项式Hn(x)写def hermite(x,n)
并在区间x∈[-1,1]上绘制H5(x)图。
答案 0 :(得分:1)
这里递归很简单,因为公式给出了它。只是一个小陷阱:你计算Hn(x),而不是Hn + 1(x)所以将1减去所有n
次出现:
def hermite(x,n):
if n==0:
return 1
elif n==1:
return 2*x
else:
return 2*x*hermite(x,n-1)-2*(n-1)*hermite(x,n-2)
小测试:
for i in range(0,5):
print(hermite(1,i))
1
2
2
-4
-20
答案 1 :(得分:0)
"main": "app.js",
请随时提出任何问题...
答案 2 :(得分:0)
import math
import numpy as np
import matplotlib.pyplot as plt
from scipy.special import hermite
def HERMITE(X,N):
HER = hermite(N)
sn = HER(X)
return sn
xvals = np.linspace(-1.0,1.0,1000)
for n in np.arange(0,7,1):
sol = HERMITE(xvals,n)
plt.plot(xvals,sol,"-.",label = "n = " + str(n),linewidth=2)
plt.xticks(fontsize=14,fontweight="bold")
plt.yticks(fontsize=14,fontweight="bold")
plt.grid()
plt.legend()
plt.show()