Python Numpy np.polyvander3d()方法
np.polyvander3d()方法用于返回度数为deg和样本点x、y和z的Vandermonde矩阵。
语法: np.polyvander3d(x, y, z, deg)
参数:
x, y, z : [ array_like ] 点的阵列。dtype被转换为float64或compound128,取决于是否有元素是复数。如果x是标量,它被转换为一个一维数组。
deg : [int] 结果矩阵的度数。
返回:返回范德蒙德矩阵。
例子#1 :
在这个例子中,我们可以看到,通过使用np.polyvander3d()方法,我们能够用这个方法得到伪范特曼矩阵。
# import numpy
import numpy as np
import numpy.polynomial.polynomial as geek
# using np.polyvander3d() method
ans = geek.polyvander3d((1, 3, 5), (2, 4, 6), (1, 2, 3), [2, 2, 2])
print(ans)
输出 :
[[ 1.00000000e+00 1.00000000e+00 1.00000000e+00 2.00000000e+00
2.00000000e+00 2.00000000e+00 4.00000000e+00 4.00000000e+00
4.00000000e+00 1.00000000e+00 1.00000000e+00 1.00000000e+00
2.00000000e+00 2.00000000e+00 2.00000000e+00 4.00000000e+00
4.00000000e+00 4.00000000e+00 1.00000000e+00 1.00000000e+00
1.00000000e+00 2.00000000e+00 2.00000000e+00 2.00000000e+00
4.00000000e+00 4.00000000e+00 4.00000000e+00]
[ 1.00000000e+00 2.00000000e+00 4.00000000e+00 4.00000000e+00
8.00000000e+00 1.60000000e+01 1.60000000e+01 3.20000000e+01
6.40000000e+01 3.00000000e+00 6.00000000e+00 1.20000000e+01
1.20000000e+01 2.40000000e+01 4.80000000e+01 4.80000000e+01
9.60000000e+01 1.92000000e+02 9.00000000e+00 1.80000000e+01
3.60000000e+01 3.60000000e+01 7.20000000e+01 1.44000000e+02
1.44000000e+02 2.88000000e+02 5.76000000e+02]
[ 1.00000000e+00 3.00000000e+00 9.00000000e+00 6.00000000e+00
1.80000000e+01 5.40000000e+01 3.60000000e+01 1.08000000e+02
3.24000000e+02 5.00000000e+00 1.50000000e+01 4.50000000e+01
3.00000000e+01 9.00000000e+01 2.70000000e+02 1.80000000e+02
5.40000000e+02 1.62000000e+03 2.50000000e+01 7.50000000e+01
2.25000000e+02 1.50000000e+02 4.50000000e+02 1.35000000e+03
9.00000000e+02 2.70000000e+03 8.10000000e+03]]
例子#2 :
# import numpy
import numpy as np
import numpy.polynomial.polynomial as geek
ans = geek.polyvander3d((1, 2), (3, 4), (5, 6), [3, 3, 3])
print(ans)
输出 :
[[ 1.00000000e+00 5.00000000e+00 2.50000000e+01 1.25000000e+02
3.00000000e+00 1.50000000e+01 7.50000000e+01 3.75000000e+02
9.00000000e+00 4.50000000e+01 2.25000000e+02 1.12500000e+03
2.70000000e+01 1.35000000e+02 6.75000000e+02 3.37500000e+03
1.00000000e+00 5.00000000e+00 2.50000000e+01 1.25000000e+02
3.00000000e+00 1.50000000e+01 7.50000000e+01 3.75000000e+02
9.00000000e+00 4.50000000e+01 2.25000000e+02 1.12500000e+03
2.70000000e+01 1.35000000e+02 6.75000000e+02 3.37500000e+03
1.00000000e+00 5.00000000e+00 2.50000000e+01 1.25000000e+02
3.00000000e+00 1.50000000e+01 7.50000000e+01 3.75000000e+02
9.00000000e+00 4.50000000e+01 2.25000000e+02 1.12500000e+03
2.70000000e+01 1.35000000e+02 6.75000000e+02 3.37500000e+03
1.00000000e+00 5.00000000e+00 2.50000000e+01 1.25000000e+02
3.00000000e+00 1.50000000e+01 7.50000000e+01 3.75000000e+02
9.00000000e+00 4.50000000e+01 2.25000000e+02 1.12500000e+03
2.70000000e+01 1.35000000e+02 6.75000000e+02 3.37500000e+03]
[ 1.00000000e+00 6.00000000e+00 3.60000000e+01 2.16000000e+02
4.00000000e+00 2.40000000e+01 1.44000000e+02 8.64000000e+02
1.60000000e+01 9.60000000e+01 5.76000000e+02 3.45600000e+03
6.40000000e+01 3.84000000e+02 2.30400000e+03 1.38240000e+04
2.00000000e+00 1.20000000e+01 7.20000000e+01 4.32000000e+02
8.00000000e+00 4.80000000e+01 2.88000000e+02 1.72800000e+03
3.20000000e+01 1.92000000e+02 1.15200000e+03 6.91200000e+03
1.28000000e+02 7.68000000e+02 4.60800000e+03 2.76480000e+04
4.00000000e+00 2.40000000e+01 1.44000000e+02 8.64000000e+02
1.60000000e+01 9.60000000e+01 5.76000000e+02 3.45600000e+03
6.40000000e+01 3.84000000e+02 2.30400000e+03 1.38240000e+04
2.56000000e+02 1.53600000e+03 9.21600000e+03 5.52960000e+04
8.00000000e+00 4.80000000e+01 2.88000000e+02 1.72800000e+03
3.20000000e+01 1.92000000e+02 1.15200000e+03 6.91200000e+03
1.28000000e+02 7.68000000e+02 4.60800000e+03 2.76480000e+04
5.12000000e+02 3.07200000e+03 1.84320000e+04 1.10592000e+05]]