numpy的矩阵运算问题

已知矩阵ek和tau,在numpy中怎么写才能得到beta???

之前在matlab写的,是两个for循环嵌套得到的,不知道在numpy怎么写,谢谢各位大佬!(matlab如下)

for i=1:4

for i=1:6

beta(i,j)=sum(ek(:,i).*tau(:,j))

end

end

import numpy as np
ek = np.array([[1,1,1,1,1],[0,0,0,0,0],[1,1,1,1,1],[0,0,0,0,0]])
tau = np.array([[0,0,0,0,0],[1,1,1,1,1],[0,0,0,0,0],[1,1,1,1,1]])
beta = np.empty([4,5]) 
for i in range(4):
    for j in range(5):
        beta[i][j] = ek[i][j]+tau[i][j]
print(beta)

你可以参考一下这个

不忍心看你们在错误的道路上越走越远。。。

>>> import numpy as np
>>> ek = np.array([
    [0.327666, 0, 0.210474, 0],
    [0.208655, 0.182186, 0.268057, 0],
    [0.463679, 0.404858, 0.297841, 0],
    [0, 0.412955, 0, 0],
    [0, 0, 0.223629, 0],
    [0, 0, 0, 1]
])
>>> tau = np.array([
    [1, 1, 0.999917, 0.999591, 1.000047, 1.001031],
    [1, 1, 0.999917, 0.999591, 1.000047, 1.001031],
    [0.825044, 0.825044, 1, 0.981015, 0.948888, 0.952871],
    [0.948182, 0.948182, 1.029022, 1, 1.072169, 0.973538],
    [0.98631, 0.98631, 0.920529, 0.841061, 1, 0.926805],
    [0.880362, 0.880362, 1.014736, 0.997329, 0.934601, 1]
])
>>> np.dot(ek.T, tau)
array([[0.91887658, 0.91887658, 0.99995549, 0.9909777 , 0.97632565, 0.97870022],
       [0.90776816, 0.90776816, 1.01196866, 0.99223826, 1.00911701, 0.97017867],
       [0.94483045, 0.94483045, 0.98218926, 0.9586074 , 0.98480024, 0.97008889],
       [0.880362  , 0.880362  , 1.014736  , 0.997329  , 0.934601  , 1.        ]])

 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632