| 查看: 1195 | 回复: 1 | ||
[求助]
matlab计算组合数出错 已有1人参与
|
|
最近写的一个程序要计算组合数,但用MATLAB自带的nchoosek当数值较大时计算非常慢,于是改用阶乘除阶乘的形式,但是当计算结果较大的时候MATLAB直接把结果当成发散的了,显示NAN,请问有什么好的处理方法吗?把nchoosek提速或者使结果不发散的都可以。贴上我的代码: m=500; w=10; S1=1; pk1=0.5; pdw1=0.5; Adp1=zeros(w+1,m+1); for r=1:w+1 for c=1:r+m-w for i=0:c-1 Adp1(r,c)=Adp1(r,c)+(prod(1:r+m-w-1)/(prod(1:i)*prod(1:r+m-w-1-i)))*(1-pdw1)^(i)*(pdw1)^(r-i-1+m-w)*(prod(1:r-i+m-w-1)/(prod(1:c-i-1)*prod(1:r-c+m-w)))*((1-pk1)^S1)^(c-i-1)*(1-(1-pk1)^S1)^(r-c+m-w); end end end |
» 猜你喜欢
博士去二本高校当辅导员,如何调整心态?
已经有8人回复
27细胞生物学申博
已经有5人回复
面上有专家说实验设备不是我们单位的
已经有5人回复
江苏省自然基金 什么时候出结果
已经有6人回复
广西大学-广州大学招聘博士后 欢迎广大优秀人才!!!
已经有11人回复
闲聊
已经有3人回复
如何查询2026年获批项目名称?
已经有3人回复
两块石头
已经有10人回复
售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急
已经有15人回复
面上没中,邀请各位路过的虫友分析一下分数
已经有13人回复
2楼2020-03-14 16:46:02










回复此楼