在Python中使用NumPy在点x的列表中评估赫米特级数

  • Post category:Python

这是一个使用NumPy库在Python中评估赫米特级数的完整攻略,步骤如下:

步骤1:导入NumPy库和其他必要的库

import numpy as np
from math import factorial

我们需要导入NumPy库来处理数组,并导入math库中的factorial函数来计算阶乘。

步骤2:定义点x的列表

x_list = np.linspace(-5, 5, 100)

这里使用NumPy库中的linspace()函数定义了一个包含100个点,范围从-5到5的列表。

步骤3:定义赫米特多项式的计算函数

def hermite(n, x):
    coef = np.zeros(n+1)
    coef[-1] = 1
    return np.polynomial.hermite.hermval(x, coef)/factorial(n)

这个函数接受两个参数,n为赫米特级数的阶数,x为点的位置。这个函数根据赫米特多项式的公式计算赫米特级数,并返回值。

步骤4:在点x的列表中计算赫米特级数

n = 5
for i in range(n+1):
    H = hermite(i, x_list)
    print(f'H{i} = ')
    print(H)

这里使用步骤3定义的函数来计算赫米特级数,设置了阶数为5,然后循环计算每个阶数的赫米特级数,并在屏幕上打印输出结果。

示例1:计算并绘制一阶赫米特级数

import matplotlib.pyplot as plt

n = 1
H1 = hermite(n, x_list)
plt.plot(x_list, H1)
plt.title(f'H{n}')
plt.show()

这里使用 matplotlib 库中的 plot() 函数来绘制一阶赫米特级数,将结果显示在屏幕上。

示例2:计算并绘制前五个赫米特级数

n = 5
fig, ax = plt.subplots()
for i in range(n+1):
    H = hermite(i, x_list)
    ax.plot(x_list, H, label=f'H{i}')
ax.legend()
plt.show()

这个示例中使用 matplotlib 库可以轻松地将前五个赫米特级数绘制成同一张图,并使用 legend() 函数为每个曲线提供标签。

以上就是使用NumPy库在Python中评估赫米特级数的完整攻略,包含了两个示例说明。