簡體   English   中英

如何從具有 numpy 的向量中獲取具有多項式因子的矩陣?

[英]How to get a matrix with polynomial factors from a vector with numpy?

給定一個向量X = [x_0, x_1,...,x_N]和一個給定的順序p我想得到一個矩陣phi ,如下所示:

在此處輸入圖像描述

我知道如何手動填充這個矩陣,但我想知道,如果 numpy 中已經有一個 function 可以做到這一點?

這已經由np.vander實現:

import numpy as np

x=range(1,6)
p=4
np.vander(x, p+1, increasing=True)
array([[  1,   1,   1,   1,   1],
       [  1,   2,   4,   8,  16],
       [  1,   3,   9,  27,  81],
       [  1,   4,  16,  64, 256],
       [  1,   5,  25, 125, 625]])

您可以使用嵌套列表推導:

import numpy as np

# example data
X = [1, 2, 3, 4]
p = 2

Phi = np.matrix([[X[i] ** j for j in range(p+1)] for i in range(len(X))])
Phi
matrix([[ 1,  1,  1],
        [ 1,  2,  4],
        [ 1,  3,  9],
        [ 1,  4, 16]])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM