Python| Numpy np.polyvander2d() 方法
在np.polyvander2d()
方法的帮助下,我们可以从给定的数组中获取 Pseudo-Vandermonde 矩阵,该矩阵具有通过使用np.polyvander2d()
方法作为参数传递的度数。
Syntax : np.polyvander2d(x, y, deg)
Parameters:
x, y :[ array_like ] Array of points. The dtype is converted to float64 or complex128 depending on whether any of the elements are complex. If x is scalar it is converted to a 1-D array
deg :[int] Degree of the resulting matrix.
Return : Return the matrix having size i.e 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]]