下面的代码从https://docs.sympy.org/latest/modules/stats.html#examples计算两个骰子之和的期望值
from sympy.stats import P, E, variance, Die, Normal
from sympy import Eq, simplify, symbols
X, Y = Die('X', 6), Die('Y', 6) # Define two six sided dice
E(X+Y) # Expectation of the sum of two dice
但是,我想计算N个骰子之和的期望值,其中N是一个符号,如
N = symbols('N')
这可能吗
我想要的是符号化的结果,而不是通过蒙特卡罗模拟计算出来的结果
编辑:N未知,因此应在结果中将其视为变量
在
n
是给定常数的情况下,这里有一种求n
骰子和的方法。正如其他地方提到的,期望值非常简单:n
乘以一个骰子的期望值(因此,7*n/2
)计算
density
(概率质量函数)很快就会变得杂乱无章,而且速度非常慢。对于n=10
,它在我的系统上造成内存溢出n=5
的结果:自变量之和的pmf/pdf是每个变量的pmf/pdf的卷积。对于离散变量,卷积只是pmf元素的有限和,对于dice,它更简单,因为元素都等于1/(面数)。最困难的部分是要使求和的极限正确,这是需要注意的
一旦你手头有总和,你就可以在上面尝试一些恒等式。我不确定那里有什么可能,但你肯定能走到至少那一步
编辑:我读得不够仔细。如果你只对求和的期望值感兴趣,那就简单多了。E[X+Y]=E[X]+E[Y],因此问题归结为计算一个模具的期望值。这也是一个求和,比卷积更简单
尽管如此,再仔细考虑一下,一个骰子和的pmf的符号解可能会非常混乱。几年前,我算出了一个统一连续变量和的pdf,结果是一个分段多项式,随着骰子数的增加,碎片数也随之增加(我似乎记得它是m,其中m是骰子数)。我怀疑骰子的总数也会有类似的结果
相关问题 更多 >
编程相关推荐