此示例显示了如何获得二项式系数的精确值,并使用符号数学工具箱找到硬币折叠实验中的概率。
定义符号函数,p(n,k)
,这计算了头脑的概率完全提出K.
超时N
扔。
Syms.p(n,k)p(n,k)= nchoosek(n,k)/ 2 ^ n
p(n,k)=
假设,你扔了2000次硬币。头部出现在折叠的一半的概率是p(n,n / 2)
, 在哪里n = 2000.
。结果是在分子和分母中具有大量的合理表达。符号数学工具箱返回确切的结果。
n = 2000;Central = P(n,n / 2)
中央=
用10位准确度近似这个合理的数字数字
和VPA.
。
previous_digits =数字(10);VPA(中央)
ans =.
计算“头部”数量与预期值不同的概率不超过两个标准偏差。
sigma = sqrt(n / 4);HITHINTWOSIGMA = SYMSUM(P(n,k),k,ceil(n / 2 - 2 * sigma),地板(n / 2 + 2 * sigma))
intintwosigma =
用浮点数近似结果。
VPA(intintwosigma)
ans =.
将此结果与来自正态分布的累积分布函数(CDF)导出的以下两个估计结果进行比较。事实证明,在两个Σ间隔内部的第一整数和第一整数之间采用中点给出比使用双Σ间隔自身更精确的结果。
Syms.CDF(x)CDF(x)= 1/2 *(1 + ERF((x - n / 2)/ sqrt(sym(n / 2))))))
cdf(x)=
estisms1 = VPA(CDF(n / 2 + 2 * sigma) - cdf(n / 2 - 2 * sigma))
estisms1 =
estisms2 = VPA(CDF(楼层(N / 2 + 2 * Sigma)+ 1/2) -......CDF(CEIL(N / 2 - 2 * SIGMA) - 1/2))
estisms2 =
ERROR1 = VPA(estims1 - intintwoSigma)
ERROR1 =
ERROR2 = VPA(estims2 - intintwoosigma)
error2 =
恢复浮点计算的默认精度。
数字(previous_digits);
在k内绘制这个分布 -间隔。绘图是高斯曲线。
k = n / 2 +(-2 * sigma:2 * sigma);图(k,p(n,k),' - +');标题('2000年硬币抛弃');Xlabel(“头部数量”);ylabel('可能性');