我有一个n个矩阵的列表,其中n= 5:
[matrix([[3.62425112, 0.00953506],
[0.00953506, 1.05054417]]), matrix([[4.15808905e+00, 9.27845937e-04],
[9.27845937e-04, 9.88509628e-01]]), matrix([[3.90560856, 0.0504297 ],
[0.0504297 , 0.92587046]]), matrix([[ 3.87347073, -0.12430547],
[-0.12430547, 1.09071475]]), matrix([[ 3.87697392, -0.00475038],
[-0.00475038, 1.01439917]])]我想对这些矩阵进行逐个元素的相加:
我正在尝试这样做:
np.add(S_list[0], S_list[1], S_list[2], S_list[3], S_list[4])它可以工作,但我不想修复n = 5
有人能帮帮忙吗?谢谢。
发布于 2021-01-09 01:57:21
通过documentation,np.add应该只添加两个矩阵。
然而,np.add.reduce(S_list)或者只是sum(S_list)会给你想要的。
发布于 2021-01-09 01:55:45
您可以只使用Python的内置函数sum
sum(S_list)输出:
[[19.43839338 -0.06816324]
[-0.06816324 5.07003818]]发布于 2021-01-09 02:10:10
您确定np.add(S_list[0], S_list[1], S_list[2], S_list[3], S_list[4])可以工作吗?因为np.add()接受两个数组作为输入参数。无论如何,如果您想使用np.add(),下面的代码就可以完成这项工作
sum = np.add(S_list[0],S_list[1])
for i in range(len(S_list) - 2):
sum = np.add(sum,S_list[i+2])
print(sum)https://stackoverflow.com/questions/65633852
复制相似问题