以下是我尝试用一些较小的矩阵构建一个较大的矩阵:
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)
我做错了什么
定义
temp2by2
时出现语法错误。改用:但是,当您生成
np.zeros
矩阵时,可能会出现错误。必须使用类似数组的类型提供矩阵的大小,就像在Lambda = np.zeros((6,7))
中一样相关问题 更多 >
编程相关推荐