在Python中用4d数组的系数评估x、y和z的笛卡尔乘积上的3-D切比雪夫级数

在Python中用4d数组的系数评估x、y和z的笛卡尔乘积上的3-D切比雪夫级数

在这篇文章中,我们将讨论如何在Python和NumPy中对x、y和z的笛卡尔乘积的3维切比雪夫级数进行评估,并有一个4维系数数组。

NumPy.polynomial.chebyshev.chebgrid3d方法

切比雪夫多项式在近似理论中意义重大,因为切比雪夫节点被用作优化多项式插值的匹配点。
为了进行切比雪夫微分,NumPy提供了一个名为Chebyshev.chebgrid3d的函数,可以用来评估三维切比雪夫级数的笛卡尔积。这个函数只有在参数x、y和z是图元或列表的情况下才会将其转换为数组,否则就不做任何改变,如果不是数组,就被当作标量处理。

语法: polynomial.chebyshev.chebgrid3d(x, y, z, c)

参数:

  • x,y,z: array_like
  • c:系数数组

返回值:

  • 在点上的二维多项式是x和y的笛卡尔乘积。

示例 1:

在第一个例子中,让我们考虑一个大小为32的4D数组c。让我们考虑一个三维数列[1,2],[1,2],[1,2]来对4D数组进行评估。如图所示,导入必要的包,并传递适当的参数,如下所示。

import numpy as np
from numpy.polynomial import chebyshev
  
# co.efficient array
c = np.arange(32).reshape(2, 2, 4, 2)
  
print(f'The co.efficient array is {c}')
print(f'The shape of the array is {c.shape}')
print(f'The dimension of the array is {c.ndim}D')
print(f'The datatype of the array is {c.dtype}')
  
# evaluating 4d co.eff array with a 3d chebyshev series
res = chebyshev.chebgrid3d([1, 2], [1, 2], [1, 2], c)
  
# resultant array
print(f'Resultant series ---> {res}')

输出:

The co.efficient array is 
[[[[ 0  1]
   [ 2  3]
   [ 4  5]
   [ 6  7]]

  [[ 8  9]
   [10 11]
   [12 13]
   [14 15]]]


 [[[16 17]
   [18 19]
   [20 21]
   [22 23]]

  [[24 25]
   [26 27]
   [28 29]
   [30 31]]]]

The shape of the array is (2, 2, 4, 2)
The dimension of the array is 4D
The datatype of the array is int32

Resultant series ---> [[[[ 240. 2480.]
   [ 392. 4008.]]

  [[ 424. 4296.]
   [ 684. 6876.]]]


 [[[ 256. 2624.]
   [ 416. 4224.]]

  [[ 448. 4512.]
   [ 720. 7200.]]]]

示例 2:

在第二个例子中,让我们考虑一个大小为64的4D数组c。让我们考虑一个三维数列[2,1],[2,1],[2,1]来对4D数组进行评估。如图所示,导入必要的包,并传递适当的参数,如下所示。

import numpy as np
from numpy.polynomial import chebyshev
  
# co.efficient array
c = np.arange(64).reshape(4, 4, 2, 2)
  
print(f'The co.efficient array is \n{c}\n')
print(f'The shape of the array is \n{c.shape}\n')
print(f'The dimension of the array is \n{c.ndim}D\n')
print(f'The datatype of the array is \n{c.dtype}\n')
  
# evaluating 4d co.eff array with a 3d chebyshev series
res = chebyshev.chebgrid3d([2, 1], [2, 1], [2, 1], c)
  
# resultant array
print(f'Resultant series ---> {res}')

输出:

The co.efficient array is 

[[[[ 0 1][ 2 3]] [[ 4 5] [ 6 7]] 

[[ 8 9][10 11]] [[12 13] [14 15]]] 

[[[16 17] [18 19]] [[20 21][22 23]] 

[[24 25] [26 27]] [[28 29] [30 31]] 

[[[32 33] [34 35]] [[36 37][38 39]] 

[[40 41] [42 43]] [[44 45][46 47]]] 

[[[48 49] [50 51]] [[52 53][54 55]] 

[[56 57] [58 59]] [[60 61][62 63]]]] 

The shape of the array is (4, 4, 2, 2) 

The dimension of the array is 4D 

The datatype of the array is int32 

Resultant series —> [[[[208224. 137952.][ 21216. 14048.]] [[ 15456. 10208.][ 1504. 992.]]] 

[[[212112. 140544.][ 21648. 14336.]] [[ 15888. 10496.] [ 1552. 1024.]]]] 

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

Numpy 多项式