Evalúe una serie 2-D de Chebyshev en los puntos (x, y) con una array 3D de coeficientes en Python

En este artículo, discutiremos cómo evaluar una serie 2-D de Chebyshev en los puntos (x, y) con una array 3D de coeficientes en Python.

Ejemplo

Input: [[[ 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]]]

Output: [[[1920.  522.]
  [ 414.  108.]]

 [[2020.  552.]
  [ 444.  117.]]

 [[2120.  582.]
  [ 474.  126.]]]

Explanation: Two dimensional Chebyshev series.

Método NumPy.polynomial.Chebyshev.chebgrid2d

Para realizar la diferenciación de Chebyshev, NumPy proporciona una función llamada Chebyshev.chebgrid2d que se puede usar para evaluar el producto cartesiano de la serie 2D de Chebyshev. Esta función convierte los parámetros x e y en arreglos solo si son tuplas o una lista y de la misma forma, de lo contrario, se deja sin cambios y, si no es un arreglo, se trata como un escalar. Si c tiene una dimensión mayor que 2, los índices restantes enumeran varios conjuntos de coeficientes.

Sintaxis: chebyshev.chebgrid2d(x,y,c)

Parámetros:

  • x,y: Array de entrada.
  • c: Array de coeficientes ordenados

Devoluciones: Serie de Chebyshev bidimensional en puntos del producto cartesiano de x e y.

Ejemplo 1:

En el primer ejemplo. Consideremos un arreglo 3D c de tamaño 27 y una serie de [2,2],[2,2] para evaluar contra el arreglo 2D.

Python3

import numpy as np
from numpy.polynomial import chebyshev
 
# co.efficient array
c = np.arange(27).reshape(3, 3, 3)
 
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 co.eff array with a chebyshev series
res = chebyshev.chebgrid2d([2, 2], [2, 2], c)
 
# resultant array
print(f'Resultant series ---> {res}')

Producción:

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]]]
The shape of the array is (3, 3, 3)
The dimension of the array is 3D
The datatype of the array is int32
Resultant series ---> [[[1920. 1920.]
  [1920. 1920.]]

 [[2020. 2020.]
  [2020. 2020.]]

 [[2120. 2120.]
  [2120. 2120.]]]

Ejemplo 2:

En el primer ejemplo. Consideremos un arreglo 3D c de tamaño 27 y una serie de [2,1],[2,1], para evaluar contra el arreglo 2D.

Python3

import numpy as np
from numpy.polynomial import chebyshev
 
# co.efficient array
c = np.arange(27).reshape(3, 3, 3)
 
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 co.eff array with a chebyshev series
res = chebyshev.chebgrid2d([2, 1], [2, 1], c)
 
# resultant array
print(f'Resultant series ---> {res}')

Producción:

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]]]
The shape of the array is (3, 3, 3)
The dimension of the array is 3D
The datatype of the array is int32
Resultant series ---> [[[1920.  522.]
  [ 414.  108.]]

 [[2020.  552.]
  [ 444.  117.]]

 [[2120.  582.]
  [ 474.  126.]]]

Publicación traducida automáticamente

Artículo escrito por jssuriyakumar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *