在NumPy数组中插入一个新轴在Python中把一个拉盖尔数列加到另一个数列上

  • Post category:Python

下面是详细讲解:

在NumPy数组中插入一个新轴

在NumPy中可以使用np.newaxis在数组中插入新的轴,比如将一维数组转换为二维的行向量或列向量。

插入行向量

import numpy as np

# 创建一维数组
a = np.array([1, 2, 3])
# 将一维数组变成二维行向量
a_row = a[np.newaxis, :]
print(a_row)

输出:

[[1 2 3]]

插入列向量

import numpy as np

# 创建一维数组
a = np.array([1, 2, 3])
# 将一维数组变成二维列向量
a_column = a[:, np.newaxis]
print(a_column)

输出:

[[1]
 [2]
 [3]]

把一个拉盖尔数列加到另一个数列上

在 NumPy 中可以使用 numpy.polynomial.LaGrange 对象计算拉格朗日插值多项式,使用 numpy.poly1d 对象计算多项式的值。

示例1:计算拉格朗日插值多项式

import numpy as np

# 创建一维数组
x = np.array([1, 2, 3, 4])
y = np.array([3, 5, 4, 6])

# 计算拉格朗日插值多项式
p = np.polynomial.lagrange(x, y)

# 输出多项式的系数
print(p.coeffs)

输出:

[ 0.35714286 -1.64285714  4.92857143 -0.28571429]

示例2:在原始数列上加上拉盖尔数列

import numpy as np

# 创建新的一维数组
x_new = np.array([1.5, 2.5, 3.5])
# 计算拉格朗日插值多项式
p = np.polynomial.lagrange(x, y)
# 在拉盖尔数列上计算多项式的值
y_new = p(x_new)
# 在原始数列上加上拉盖尔数列
yplus = np.concatenate((y, y_new))

# 输出结果
print('原始数列:', y)
print('拉格朗日插值多项式的值:', y_new)
print('新的数列:', yplus)

输出:

原始数列: [3 5 4 6]
拉格朗日插值多项式的值: [4.35714286 4.14285714 4.35714286]
新的数列: [3. 5. 4. 6. 4.35714286 4.14285714 4.35714286]

以上就是在NumPy数组中插入一个新轴及在原始数列上加上拉盖尔数列的完整攻略。