PDA

查看完整版本 : [MATLAB数学相关] 关于求组合数及阶乘中大数的算法。


wxuesen
2012-11-13, 00:02
∑_(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
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
这是我自己编的程序,一运行就死机了,请问是哪里出问题了?
供大家参考,帮忙改进下这个程序。
谢谢了。

caowenzi
2012-11-17, 16:27
:confused: