📜  numpy.vander()函数| Python(1)

📅  最后修改于: 2023-12-03 15:03:19.626000             🧑  作者: Mango

numpy.vander()函数

numpy.vander()函数用于生成一个Vandermonde矩阵。Vandermonde矩阵是一个矩阵,其中每一行都是以递增次幂排列的一组数字。该函数采用一维数组作为输入,并返回二维矩阵,其中每一行都是输入数组的不同幂次。

语法
numpy.vander(x, N=None, increasing=False)
参数
  • x:一维输入数组。
  • N:矩阵的大小。默认情况下,矩阵的大小为 len(x),如果指定了 N,则它必须是正整数。
  • increasing:布尔值,指示生成矩阵的幂次排列是递增(如果为True)还是递减(如果为False)。
返回值

返回Vandermonde矩阵。

import numpy as np

a = np.array([1, 2, 3, 4])
print(np.vander(a))

本例将打印以下输出

[[ 1  1  1  1]
 [ 8  4  2  1]
 [27  9  3  1]
 [64 16  4  1]]
示例
示例1:默认情况
import numpy as np

#  默认情况下矩阵的大小为 len(x)
a = np.array([1, 2, 3, 4])
print(np.vander(a))

输出:

[[ 1  1  1  1]
 [ 8  4  2  1]
 [27  9  3  1]
 [64 16  4  1]]
示例2:增加排序
import numpy as np

# 生成一个Vandermonde矩阵,并按递增次幂排列
a = np.array([1, 2, 3, 4])
print(np.vander(a, increasing=True))

输出:

[[ 1  1  1  1]
 [ 1  2  4  8]
 [ 1  3  9 27]
 [ 1  4 16 64]]
示例3:指定矩阵大小
import numpy as np

# 生成一个矩阵大小为 5×5 的Vandermonde矩阵,并按递增次幂排列
a = np.array([1, 2, 3, 4])
print(np.vander(a, N=5, increasing=True))

输出:

[[ 1  1  1  1  1]
 [ 1  2  4  8 16]
 [ 1  3  9 27 81]
 [ 1  4 16 64 256]]
示例4:递增排序
import numpy as np

# 按递增次幂排列生成一个Vandermonde矩阵
a = np.array([1, 2, 3, 4])
print(np.vander(a, increasing=True))

输出:

[[ 1  1  1  1]
 [ 1  2  4  8]
 [ 1  3  9 27]
 [ 1  4 16 64]]