使用循环将数组列表中的元素乘以向量

multiply elements in array list by vector using loops

list_of_arrays = [a,[split[12]]]
a = np.array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2000, 0 ,0])
resultnew = []
output = a
for i in list_of_arrays[1:]:
    output = output@i        
    resultnew.append(output)

我需要帮助我正在尝试将 a 乘以包含 50 个 16x16 matrices.Example 的数组列表,从 split[12](列表中的第 13 个矩阵)开始,乘以 a,然后取结果并将其乘以 split[13],继续直到 split[50] 是 reached.I 需要为每次迭代附加输出。

也许您使用的 numpy 的旧版本不支持 @ (matmul) 运算符,这会导致错误。或者你的数组可能是某种 python 对象,而不是数字(你没有显示足够的代码让我猜出原因)。

如果您的 numpy 版本支持 @,以下应该有效:

output = a
for arr in split[12:51]:
    output = output@arr
    resultnew.append(output)

如果没有,您可以明确使用 matmul:

output = np.matmul(output, arr)