在将一些矩阵块附加到每个oth时,无法理解数据类型

2024-09-25 08:36:15 发布

您现在位置:Python中文网/ 问答频道 /正文

以下是我尝试用一些较小的矩阵构建一个较大的矩阵:

import numpy as np

lambda1 = 1
lambda3 = 0.03

def create_Lambda_matrix(lambda1, lambda3):
    Lambda = np.zeros((6,7))
    temp3by3 = 2*np.matrix([[lambda1, lambda3, lambda3],[lambda3, lambda1, lambda3],[lambda3, lambda3, lambda1]])
    temp2by2 = 2*np.matrix([[lambda1, lambda3],[lambda3, lambda1]])
    Lambda = np.bmat([[temp3by3, np.zeros(3,4)]],
                       [np.zeros(2,3), temp2by2, np.zeros(2,2)],
                       [np.zeros(2,5), temp2by2]])
    return Lambda

Lambda = create_Lambda_matrix(lambda1, lambda3)
print(Lambda)

但是在即将生成Lambda的行返回data type not understood错误

Message=data type not understood
  Source=C:\Users\Matinking\source\repos\PyMy\PyMy\PyMy.py
  StackTrace:
  File "C:\Users\Matinking\source\repos\PyMy\PyMy\PyMy.py", line 41, in create_Lambda_matrix
    Lambda = np.bmat([[temp3by3, np.zeros(3,4)],
  File "C:\Users\Matinking\source\repos\PyMy\PyMy\PyMy.py", line 46, in <module>
    Lambda = create_Lambda_matrix(lambda1, lambda3)

我做错了什么


Tags: lambdapysourcecreatenpzerosusersmatrix
1条回答
网友
1楼 · 发布于 2024-09-25 08:36:15

定义temp2by2时出现语法错误。改用:

temp2by2 = 2*np.matrix([[lambda1, lambda3],[lambda3, lambda1]]) 

但是,当您生成np.zeros矩阵时,可能会出现错误。必须使用类似数组的类型提供矩阵的大小,就像在Lambda = np.zeros((6,7))中一样

相关问题 更多 >