“list”对象没有属性“matmul”

2024-09-29 23:24:34 发布

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

我有下面的代码来计算马尔可夫链迭代。有两个矩阵:当前状态矩阵和过渡矩阵;当说明迭代次数(两个矩阵之间的乘法)时,代码应该在一次迭代后将状态矩阵的结果保存到下一次迭代中,依此类推。编译代码时,出现错误:

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))

Tags: 代码状态错误res矩阵次数listattributeerror
1条回答
网友
1楼 · 发布于 2024-09-29 23:24:34

正如错误所说,您正试图将matmul应用于一个没有任何此类属性的列表。假设您想要使用的是np.matmul(),那么您应该做的是:

np.matmul(prev, transitionalMatrix))

然而,正如Prune所指出的,由于缺少一个最小的、可重复的示例,因此无法进一步帮助您

相关问题 更多 >

    热门问题