评估赫米特级数是一个经典的数学算法,Python中的NumPy库提供了方便的工具来实现这个算法。下面是使用NumPy在点x的列表中评估赫米特级数的步骤:
步骤1:导入NumPy库和相关依赖
首先需要导入NumPy库以及其他必要的Python标准库和第三方库,例如:
import numpy as np
from math import factorial, pow, sqrt
步骤2:定义赫米特多项式函数
接下来,需要定义一个函数来计算赫米特多项式。根据公式H_n(x) = (-1)^n e^x d^n/dx^n (e^-x(x^n)),可以编写以下函数:
def hermite(n, x):
h = np.zeros(np.shape(x))
for k in range(n+1):
c = pow(-1, k) / (factorial(k) * factorial(n - k))
h += c * pow(2 * x, n - k)
return h * pow(-1, n) * exp(x*x)
步骤3:定义求和函数
接下来,需要定义一个求和函数,用于计算赫米特级数。以下是一个简单的求和函数:
def mysum(arr):
s = 0
for i in arr:
s += i
return s
步骤4:在点x的列表中评估赫米特级数
定义完以上函数后,便可以在点x的列表中评估赫米特级数。下面是一个简单的示例:
n = 10
x = np.linspace(-3, 3, 100)
s = np.zeros(np.shape(x))
for i in range(n+1):
h = hermite(i, x)
s += pow(-1, i) * mysum(h) / factorial(i)
print(s)
该示例中,我们使用np.linspace函数生成一个大小为100的等间距的数组,表示x的值域范围。之后,我们使用hermite函数计算出一个数组,表示每一个阶数下赫米特多项式在x上的值。最后,我们将这些数组相加,并用mysum函数将它们相加起来,并除以阶数的阶乘得到赫米特级数在点x的值,并储存在数组s中。
步骤5:绘制图形
最后,可以使用Matplotlib库将赫米特级数的结果可视化。以下是一个简单的示例:
import matplotlib.pyplot as plt
plt.plot(x, s, 'r')
plt.xlabel('x')
plt.ylabel('H(x)')
plt.title('Hermite Polynomial')
plt.grid(True)
plt.show()
该示例中,我们使用Matplotlib的plot函数绘制赫米特级数的结果,并使用xlabel、ylabel、title和grid函数添加标注和网格线。最后,使用show函数显示图形。
以上便是使用NumPy在点x的列表中评估赫米特级数的完整攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:在Python中使用NumPy在点x的列表中评估赫米特级数 - Python技术站