在Python中生成拉盖尔多项式和x、y、z采样点的伪范德蒙德矩阵


要生成拉盖尔多项式的伪范德蒙德矩阵以及x、y、z采样点,请在Python NumPy中使用laguerre.lagvander3d()。参数x、y、z返回一个点数组。dtype根据任何元素是否为复数转换为float64或complex128。如果x是标量,则将其转换为一维数组。参数deg是一个最大次数列表,形式为[x_deg, y_deg, z_deg]。

步骤

首先,导入所需的库:

import numpy as np
from numpy.polynomial import laguerre as L

使用numpy.array()方法创建形状相同的点坐标数组:

x = np.array([1, 2])
y = np.array([3, 4])
z = np.array([5, 6])

显示数组:

print("Array1...\n",x)
print("\nArray2...\n",y)
print("\nArray3...\n",z)

显示数据类型:

print("\nArray1 datatype...\n",x.dtype)
print("\nArray2 datatype...\n",y.dtype)
print("\nArray3 datatype...\n",z.dtype)

检查两个数组的维度:

print("\nDimensions of Array1...\n",x.ndim)
print("\nDimensions of Array2...\n",y.ndim)
print("\nDimensions of Array3...\n",z.ndim)

检查两个数组的形状:

print("\nShape of Array1...\n",x.shape)
print("\nShape of Array2...\n",y.shape)
print("\nShape of Array3...\n",z.shape)

要在Python中生成拉盖尔多项式的伪范德蒙德矩阵以及x、y、z采样点,请使用laguerre.lagvander3d():

x_deg, y_deg, z_deg = 2, 3, 4
print("\nResult...\n",L.lagvander3d(x,y,z, [x_deg, y_deg, z_deg]))

示例

import numpy as np
from numpy.polynomial import laguerre as L

# Create arrays of point coordinates, all of the same shape using the numpy.array() method
x = np.array([1, 2])
y = np.array([3, 4])
z = np.array([5, 6])

# Display the arrays
print("Array1...\n",x)
print("\nArray2...\n",y)
print("\nArray3...\n",z)

# Display the datatype
print("\nArray1 datatype...\n",x.dtype)
print("\nArray2 datatype...\n",y.dtype)
print("\nArray3 datatype...\n",z.dtype)

# Check the Dimensions of both the arrays
print("\nDimensions of Array1...\n",x.ndim)
print("\nDimensions of Array2...\n",y.ndim)
print("\nDimensions of Array3...\n",z.ndim)

# Check the Shape of both the arrays
print("\nShape of Array1...\n",x.shape)
print("\nShape of Array2...\n",y.shape)
print("\nShape of Array3...\n",z.shape)

# To generate a pseudo Vandermonde matrix of the Laguerre polynomial with x, y, z sample points, use the laguerre.lagvander3d() in Python Numpy

x_deg, y_deg, z_deg = 2, 3, 4
print("\nResult...\n",L.lagvander3d(x,y,z, [x_deg, y_deg, z_deg]))

输出

Array1...
   [1 2]

Array2...
   [3 4]

Array3...
   [5 6]

Array1 datatype...
int64

Array2 datatype...
int64

Array3 datatype...
int64

Dimensions of Array1...
1

Dimensions of Array2...
1

Dimensions of Array3...
1

Shape of Array1...
(2,)

Shape of Array2...
(2,)

Shape of Array3...
(2,)

Result...
   [[ 1.         -4.         3.5           2.66666667 -1.29166667
     -2.          8.        -7.           -5.33333333  2.58333333
     -0.5         2.        -1.75         -1.33333333  0.64583333
      1.         -4.         3.5           2.66666667 -1.29166667
      0.         -0.          0.           0.         -0.
     -0.          0.         -0.          -0.          0.
     -0.          0.         -0.          -0.          0.
      0. -        0.          0.           0.         -0.
     -0.5         2.         -1.75        -1.33333333  0.64583333
      1.         -4.          3.5          2.66666667 -1.29166667
      0.25       -1.          0.875        0.66666667 -0.32291667
     -0.5         2.         -1.75        -1.33333333  0.64583333]
    [ 1.         -5.          7.           1.         -5.
     -3.         15.         -21.         -3.         15.
      1.         -5.           7.          1.         -5.
      2.33333333 -11.66666667 16.33333333  2.33333333 -11.66666667
     -1.          5.         -7.          -1.          5.
      3.         -15.         21.          3.         -15.
     -1.          5.         -7.          -1.           5.
     -2.33333333 11.66666667 -16.33333333 -2.33333333  11.66666667
     -1.          5.         -7.          -1.           5.
      3.        -15.         21.           3.          -15.
     -1.          5.         -7.          -1.           5.
     -2.33333333 11.66666667 -16.33333333 -2.33333333  11.66666667]]

更新于:2022年3月7日

94次浏览

启动你的职业生涯

完成课程获得认证

开始学习
广告