Python| Numpy np.legvander2d() 方法
在np.legvander2d()
方法的帮助下,我们可以从给定的数组中获取 Pseudo-Vandermonde 矩阵,该矩阵是通过使用np.legvander2d()
方法作为参数传递的。
Syntax : np.legvander2d(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.legvander2d()
方法,我们能够使用这种方法得到伪范德蒙矩阵。
# import numpy
import numpy as np
import numpy.polynomial.legendre as geek
# using np.legvander() method
ans = geek.legvander2d((1, 3, 5, 7), (2, 4, 6, 8), [2, 2])
print(ans)
输出 :
[[ 1.00000000e+00 2.00000000e+00 5.50000000e+00 1.00000000e+00
2.00000000e+00 5.50000000e+00 1.00000000e+00 2.00000000e+00
5.50000000e+00]
[ 1.00000000e+00 4.00000000e+00 2.35000000e+01 3.00000000e+00
1.20000000e+01 7.05000000e+01 1.30000000e+01 5.20000000e+01
3.05500000e+02]
[ 1.00000000e+00 6.00000000e+00 5.35000000e+01 5.00000000e+00
3.00000000e+01 2.67500000e+02 3.70000000e+01 2.22000000e+02
1.97950000e+03]
[ 1.00000000e+00 8.00000000e+00 9.55000000e+01 7.00000000e+00
5.60000000e+01 6.68500000e+02 7.30000000e+01 5.84000000e+02
6.97150000e+03]]
示例 #2:
# import numpy
import numpy as np
import numpy.polynomial.legendre as geek
ans = geek.legvander2d((1, 2, 3, 4), (5, 6, 7, 8), [3, 3])
print(ans)
输出 :
[[ 1.00000000e+00 5.00000000e+00 3.70000000e+01 3.05000000e+02
1.00000000e+00 5.00000000e+00 3.70000000e+01 3.05000000e+02
1.00000000e+00 5.00000000e+00 3.70000000e+01 3.05000000e+02
1.00000000e+00 5.00000000e+00 3.70000000e+01 3.05000000e+02]
[ 1.00000000e+00 6.00000000e+00 5.35000000e+01 5.31000000e+02
2.00000000e+00 1.20000000e+01 1.07000000e+02 1.06200000e+03
5.50000000e+00 3.30000000e+01 2.94250000e+02 2.92050000e+03
1.70000000e+01 1.02000000e+02 9.09500000e+02 9.02700000e+03]
[ 1.00000000e+00 7.00000000e+00 7.30000000e+01 8.47000000e+02
3.00000000e+00 2.10000000e+01 2.19000000e+02 2.54100000e+03
1.30000000e+01 9.10000000e+01 9.49000000e+02 1.10110000e+04
6.30000000e+01 4.41000000e+02 4.59900000e+03 5.33610000e+04]
[ 1.00000000e+00 8.00000000e+00 9.55000000e+01 1.26800000e+03
4.00000000e+00 3.20000000e+01 3.82000000e+02 5.07200000e+03
2.35000000e+01 1.88000000e+02 2.24425000e+03 2.97980000e+04
1.54000000e+02 1.23200000e+03 1.47070000e+04 1.95272000e+05]]