Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2012-11-13, 00:02   #1
wxuesen
初级会员
 
注册日期: 2012-04-15
帖子: 2
声望力: 0
wxuesen 正向着好的方向发展
问题 关于求组合数及阶乘中大数的算法。

∑_(k=941)^1059▒〖(C k¦6000) 〖(1/6)〗^k 〖(5/6)〗^(6000-k) 〗
组合数从6000中选k个;指数(1/6)^k和(5/6)^(6000-k);三项的乘积求和从941至1059.
试了很久都运行不出结果,要么就超出了精度。
主要就是那个组合数太大了不好求,然后就是精度不够。
请教各位大神有什么好的近似代替的函数求解或求解思路,能直接给出程序最好了。
先说声谢谢了。
wxuesen 当前离线   回复时引用此帖
旧 2012-11-13, 00:13   #2
wxuesen
初级会员
 
注册日期: 2012-04-15
帖子: 2
声望力: 0
wxuesen 正向着好的方向发展
微笑 回复: 关于求组合数及阶乘中大数的算法。

function c=com(k)
global k
syms x;
c=limit('x+6000!/k!/(6000-k+1)!',x,0);

global k
syms y;
s=0;
for k=941:1059
s=s+limit('y+com(k).*(1/6)^k.*(5/6)^(6000-k)',y,0);
end
s
这是我自己编的程序,一运行就死机了,请问是哪里出问题了?
供大家参考,帮忙改进下这个程序。
谢谢了。
wxuesen 当前离线   回复时引用此帖
旧 2012-11-17, 16:27   #3
caowenzi
初级会员
 
注册日期: 2008-01-09
年龄: 41
帖子: 3
声望力: 0
caowenzi 正向着好的方向发展
默认 回复: 关于求组合数及阶乘中大数的算法。

caowenzi 当前离线   回复时引用此帖
回复

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 07:34


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.