使用循环将数组列表中的元素乘以向量
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)
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)