Python Numpy np.polyvander2d()方法
在np.polyvander2d()方法的帮助下,我们可以通过np.polyvander2d()方法从给定的数组中获得伪范德蒙德矩阵,该数组被作为参数传递。
语法: np.polyvander2d(x, y, deg)
参数:
x, y : [ array_like ] 点的阵列。dtype被转换为float64或compound128,这取决于是否有元素是复数。如果x是标量,它被转换为一个一维数组。
deg : [int] 结果矩阵的度数。
返回:返回矩阵的大小,即array.size+(degree+1)。
例子#1 :
在这个例子中,我们可以看到,通过使用np.polyvander2d()方法,我们能够用这个方法得到伪范德蒙德矩阵。
# import numpy
import numpy as np
import numpy.polynomial.polynomial as geek
# using np.polyvander() method
ans = geek.polyvander2d((1, 3, 5, 7), (2, 4, 6, 8), [2, 2])
print(ans)
输出 :
[[ 1.00000000e+00 2.00000000e+00 4.00000000e+00 1.00000000e+00
2.00000000e+00 4.00000000e+00 1.00000000e+00 2.00000000e+00
4.00000000e+00]
[ 1.00000000e+00 4.00000000e+00 1.60000000e+01 3.00000000e+00
1.20000000e+01 4.80000000e+01 9.00000000e+00 3.60000000e+01
1.44000000e+02]
[ 1.00000000e+00 6.00000000e+00 3.60000000e+01 5.00000000e+00
3.00000000e+01 1.80000000e+02 2.50000000e+01 1.50000000e+02
9.00000000e+02]
[ 1.00000000e+00 8.00000000e+00 6.40000000e+01 7.00000000e+00
5.60000000e+01 4.48000000e+02 4.90000000e+01 3.92000000e+02
3.13600000e+03]]
例子#2 :
# import numpy
import numpy as np
import numpy.polynomial.polynomial as geek
ans = geek.polyvander2d((1, 2, 3, 4), (5, 6, 7, 8), [3, 3])
print(ans)
输出 :
[[ 1.00000000e+00 5.00000000e+00 2.50000000e+01 1.25000000e+02
1.00000000e+00 5.00000000e+00 2.50000000e+01 1.25000000e+02
1.00000000e+00 5.00000000e+00 2.50000000e+01 1.25000000e+02
1.00000000e+00 5.00000000e+00 2.50000000e+01 1.25000000e+02]
[ 1.00000000e+00 6.00000000e+00 3.60000000e+01 2.16000000e+02
2.00000000e+00 1.20000000e+01 7.20000000e+01 4.32000000e+02
4.00000000e+00 2.40000000e+01 1.44000000e+02 8.64000000e+02
8.00000000e+00 4.80000000e+01 2.88000000e+02 1.72800000e+03]
[ 1.00000000e+00 7.00000000e+00 4.90000000e+01 3.43000000e+02
3.00000000e+00 2.10000000e+01 1.47000000e+02 1.02900000e+03
9.00000000e+00 6.30000000e+01 4.41000000e+02 3.08700000e+03
2.70000000e+01 1.89000000e+02 1.32300000e+03 9.26100000e+03]
[ 1.00000000e+00 8.00000000e+00 6.40000000e+01 5.12000000e+02
4.00000000e+00 3.20000000e+01 2.56000000e+02 2.04800000e+03
1.60000000e+01 1.28000000e+02 1.02400000e+03 8.19200000e+03
6.40000000e+01 5.12000000e+02 4.09600000e+03 3.27680000e+04]]