我有下面的代码来计算马尔可夫链迭代。有两个矩阵:当前状态矩阵和过渡矩阵;当说明迭代次数(两个矩阵之间的乘法)时,代码应该在一次迭代后将状态矩阵的结果保存到下一次迭代中,依此类推。编译代码时,出现错误:
AttributeError: 'list' object has no attribute 'matmul'.
我正在使用NumPy版本1.17。我怎样才能解决它
import numpy as np
transitionalMatrix = ([0.42, 0.16, 0.36, 0.02 ],[0.05, 0.43, 0.04, 0.11 ], [0.24, 0.16, 0.51 , 0.04 ], [0.01, 0.31, 0.01, 0.59 ])
stateMatrix = ([0.20461531, 0.26104588, 0.19799357, 0.14561973])
maxIterations = 6
res = [stateMatrix]
for iteration in range(1, maxIterations):
prev = res[iteration - 1]
res.append(prev.matmul(transitionalMatrix))
正如错误所说,您正试图将matmul应用于一个没有任何此类属性的列表。假设您想要使用的是
np.matmul()
,那么您应该做的是:然而,正如Prune所指出的,由于缺少一个最小的、可重复的示例,因此无法进一步帮助您
相关问题 更多 >
编程相关推荐