社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

如何在python中创建这个矩阵?

esdy • 4 年前 • 136 次点击  

我是Python的新手,有一段时间我一直在努力编写这个矩阵。

x'=[x1,x2,x3,x4,...,xN]

x是上述矩阵的转置。

我想创建一个带有值的矩阵y

shown here

x需要是y的输入,这样x和k的值就可以被用户更改。

def(x,k) 

如何继续用python编写这个矩阵?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/38206
 
136 次点击  
文章 [ 2 ]  |  最新文章 4 年前
Eric Miller
Reply   •   1 楼
Eric Miller    5 年前

这是编写函数的一种方法。让 base_vector (你的X)是一个麻木的数组,让 max_power (你的k)是一个整数。

import numpy as np

def generate_poly_matrix(base_vector, max_power):
    poly_matrix = np.zeros((base_vector.size, max_power + 1))
    for (i, j), _ in np.ndenumerate(poly_matrix):
        poly_matrix[i, j] = base_vector[i]**j
    return poly_matrix

这是另一种方法,使用不同的方法。非正式的测试表明,它们在相似的时间运行。

def generate_poly_matrix2(base_vector, max_power):
    base_matrix = np.tile(base_vector, (max_power+1, 1)).T
    powers = np.arange(0, max_power+1)
    return np.power(base_matrix, powers)
user2849789
Reply   •   2 楼
user2849789    5 年前

使用可以使用以下功能。

def generate_poly_data(data,degree):
    first_row = np.ones((data.shape[0],1))

    poly_data = np.column_stack((first_row, data))
    for i in range(2,degree+1):
        poly_data = np.column_stack((poly_data,data**i))
    np.set_printoptions(suppress=True)
    return poly_data