对MATLAB计算阶乘、排列数与组合数的一个思考-极大量乘以极小量

我在看过帖子“MATLAB计算阶乘、排列数与组合数”后感觉作为估算matlab确实在这个方面是个好工具。然而我遇到了一个实际问题,似乎有一些不合理的结果。
一个事件每日的发生概率是0.0167.则在780日中随机选取31日,这31日每日都发生该事件的概率为多少?在260日中随机选取31日,这31日每日都发生该事件的概率为多少?
计算P1=C(780,31)*0.0167^31.
P2=C(260,31)*0.0167^31.
输入P1=nchoosek(780,31)*0.0167^31
P2=nchoosek(260,31)*0.0167^31
a=0.0167^31
b=nchoosek(780,31)
c=nchoosek(260,31)
得到 P1=2.4086
P2= 1.1075e-015
a = 8.0207e-056
b= 3.0030e+055
c= 1.3808e+040
从计算结果来看,这个数值应该是2.4. 这个结果显然不合理。从意义上理解,肯定是总样本数越大(比如780比260大),得出的概率越高(计算出来的P1大于P2)。但是不应该大于1.
这个结果是软件计算误差过大导致的错误结果还是结果合理?

https://blog.csdn.net/X_s_yu/article/details/88355601

相关推荐
©️2020 CSDN 皮肤主题: 1024 设计师:白松林 返回首页