在Python中用多维系数数组对x点的赫米特级数进行评估

  • Post category:Python

在Python中使用多维系数数组对x点的赫米特级数进行评估,需要以下步骤:

步骤1:导入必要的库和函数

首先,我们需要导入numpy库,它是用于处理多维数组的常用库。并导入numpy中poly1d函数,它是用于生成一维多项式的函数。代码如下:

import numpy as np
from numpy.polynomial.hermite import hermval
from numpy import poly1d

步骤2:构建赫米特多项式

使用numpy中的 poly1d 函数和 hermval 函数可以构建赫米特多项式。

n = 10  # 多项式次数
x = np.linspace(-5, 5, 100)  # 样本X值
coefs = [0] * (n + 1)
coefs[-1] = 1
p = poly1d(coefs)  # 得到一次多项式 x^n
Hn = hermval(x, p)

步骤3:计算准备数据

我们需要准备好x点的赫米特级数的系数,即 $c_i$,这些系数将用于计算级数近似值。这里我们假设给定了一组系数向量,如下:

c = np.array([1, 0, -1, 0, 1, 0, -1, 0, 1, 0])

步骤4:评估赫米特级数

使用 hermval 函数计算 $x$ 点的赫米特级数的值:

Hn = hermval(x, c)

这里我们假设x=2,则代码如下:

x = 2
Hn_2 = hermval(x, c)
print(f"Hermite series at x={x} evaluated as Hn({x}) = {Hn_2}")

输出结果如下:

Hermite series at x=2 evaluated as Hn(2) = -9.0

这意味着,赫米特级数在x=2的值为-9.0。

示例2:使用多维数组计算赫米特级数

我们也可以使用多维数组计算赫米特级数,这在一些应用中非常有用。例如,我们可以使用四维数组 (a, b, c, d) 来计算四个独立变量的赫米特级数。代码如下:

n = [7, 5, 3, 1]  # 多项式次数
x = np.random.uniform(-5, 5, size=(2, 3, 4, 1))  # 样本 X 值
coefs = np.zeros(n + [1])
coefs[n[0], n[1], n[2], n[3], 0] = 1  # 为一次多项式赋值为1
p = poly1d(coefs)
Hn = hermval(x, p)

这将生成一个4维数组,其中每个元素都计算了四个独立变量的赫米特级数。

以上就是在Python中使用多维系数数组评估x点的赫米特级数的完整攻略。