Python 如何计算矢量形式的乘法?
我想以矢量形式计算以下表达式,而不是使用for循环。如果有人能帮助我,我将不胜感激Python 如何计算矢量形式的乘法?,python,numpy,Python,Numpy,我想以矢量形式计算以下表达式,而不是使用for循环。如果有人能帮助我,我将不胜感激 j = 1 to J s = 1 to S t = 1 to T s' = 1 to S p.shape = (J,T,S) prob.shape = (S) Xi.shape = (T,S,S) Pbar.shape = (J,T,S) 这就是你想要的: >>>将numpy作为np导入 >>>j,s,t=5,6,7个随机值 >>>p=np.random.randj,t,s >>>prob=np.rand
j = 1 to J
s = 1 to S
t = 1 to T
s' = 1 to S
p.shape = (J,T,S)
prob.shape = (S)
Xi.shape = (T,S,S)
Pbar.shape = (J,T,S)
这就是你想要的:
>>>将numpy作为np导入
>>>j,s,t=5,6,7个随机值
>>>p=np.random.randj,t,s
>>>prob=np.random.rands
>席=随机数RANTT,S,S
>>>pbar=np.random.randj,t,s
>>P> JTS= NP,EnSUM'TSS,JTS,S->JTS’,席席,P,PROB/NP。EsSuth'TSS,S->S’,XI,PROB
>>>p_jts.shape==j,t,s
符合事实的
请解释一下符号,我刚找到einsum。真是太神奇了。非常感谢。有一个问题,如何在tss中强制求和超过s。在我的公式中,席在0或1,PR是概率。所以,最终结果是P的加权平均值。我想我需要把代码像NP.EnSUM'TSS,JTS,S->JTS’,席,P,PrimuloPoT,修改编辑答案。