用Python中的NumPy在点(x, y, z)上评估一个3-D多项式,其系数为4D数组
在这篇文章中,我们将研究如何使用Python中的NumPy在点(x, y, z)上评估一个具有4D系数数组的3维多项式。
polynomial.polyval3d 方法
我们使用Python的NumPy模块中的polynomial.polyval3d()函数对x、y和z点的3维多项式进行评估。在x、y和z点,如果x、y和z有相似的形状,那么3维数列将被评估,如果x、y和z是一个列表或元组,那么在评估前它将被转换为一个nd-array,否则它将保持原状。另外,如果它不是一个nd-array,它将被当作一个标量处理。另一个参数’C’是一个有序的系数数组,多度项i, j, k存在于C[i, j, k]中。
语法 : polyval3d(x, y, z, C)
参数 :
- x, y, z : 三维序列在类似阵列的点上进行分析。
- C : 它是一个经过组织的系数排序数组,因此多度i,j,k项的系数包含在c[i,j,k]中。
返回:多维多项式值,该值由x、y和z的相应值的三倍组成。
例子1 :
# importing numpy module and polyval3d function
import numpy as np
from numpy.polynomial.polynomial import polyval3d
# creating an 4d array of coefficiets 'C'
# using numpy
C = np.arange(24).reshape(2,2,3,2)
# Now using polyval3d function we are
# evaluating the 3D polynomial at points
# (x,y,z)
print(polyval3d([2,1],[1,2],[2,3], C))
输出 :
[[ 582. 1032.]
[ 624. 1110.]]
例子2 :
# importing numpy module and polyval3d function
import numpy as np
from numpy.polynomial.polynomial import polyval3d
# creating an 4d array of coefficiets 'C'
C = np.arange(72).reshape(3,2,6,2)
# Now using polyval3d function evaluate
# the 3D polynomial at points (x,y,z)
x = [4,1]
y = [1,2]
z = [2,3]
print("The result of evaluation by polyval3d function is : \n",
polyval3d(x, y, z, C))
输出 :
The result of evaluation by polyval3d function is :
[[146412. 134370.]
[149058. 137646.]]