已知矩阵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