En este artículo, discutiremos cómo evaluar una serie de Chebyshev 3-D en el producto cartesiano de x, y y z con una array 4d de coeficientes en Python y NumPy .
NumPy.polinomio. método chebyshev.chebgrid3d
Los polinomios de Chebyshev son importantes en la teoría de aproximación porque los Nodes de Chebyshev se utilizan como puntos de coincidencia para optimizar la interpolación de polinomios.
Para realizar la diferenciación de Chebyshev, NumPy proporciona una función llamada Chebyshev.chebgrid3d que se puede utilizar para evaluar el producto cartesiano de la serie 3D de Chebyshev. Esta función convierte los parámetros x, y y z en array solo si son tuplas o una lista, de lo contrario, se deja sin cambios y, si no es una array, se trata como un escalar.
Sintaxis: polinomio.chebyshev.chebgrid3d(x, y, z, c)
Parámetros:
- x,y,z: tipo_arreglo
- c: array de coeficientes
Devoluciones:
- Polinomios bidimensionales en puntos como productos cartesianos de x e y.
Ejemplo 1:
En el primer ejemplo. Consideremos un arreglo 4D c de tamaño 32. Consideremos una serie 3D [1,2],[1,2],[1,2] para evaluar contra el arreglo 4D. Importe los paquetes necesarios como se muestra y pase los parámetros apropiados como se muestra a continuación.
Python3
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}')
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 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.]]]]
Ejemplo 2:
En el segundo ejemplo. Consideremos un arreglo 4D c de tamaño 64. Consideremos una serie 3D [2,1],[2,1],[2,1] para evaluar contra el arreglo 4D. Importe los paquetes necesarios como se muestra y pase los parámetros apropiados como se muestra a continuación.
Python3
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}')
Producción:
La array de coeficientes es
[[[[ 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]]]]
La forma de la array es (4, 4, 2, 2)
La dimensión de la array es 4D.
El tipo de datos de la array es int32
Serie resultante —> [[[[208224. 137952.][ 21216. 14048.]] [[ 15456. 10208.][ 1504. 992.]]]
[[[212112. 140544.][ 21648. 14336.]] [[ 15888. 10496.] [ 1552. 1024.]]]]
Publicación traducida automáticamente
Artículo escrito por jssuriyakumar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA