dauphin_510 发表于 2010-8-27 09:20

请教2个问题,看看有没有高手

1、由于需要,计算一个无穷级数,分子上有y^m,分母上有m!*m!,m是项数0~正无穷。当y比较小的时候,运算到100项以内就能收敛;当y比较大时,matlab计算就出了问题,因为matlab的运算上限是1e308,超过这个数就认为是inf,inf之间运算就是NaN。

2、用数值积分quadl 时,介绍说可以用quadl(fun,a,b,tol,trace,p1,p2,...)的P1,P2来传递参数,如何实现?

rocwoods 发表于 2010-8-27 12:00

第一个问题,可以用符号计算来解决,根据stirling公式m!~sqrt(2*pi*m)*m^m*exp(-m),因此y比较大的时候,当m~ sqrt(y)*exp(1)时,y^m/(m!*m!)大致为1//sqrt(2*pi*m),再以后y^m/(m!*m!)迅速趋于0,可以忽略,因此求和可以求到m = sqrt(y)*exp(1)
譬如对于y = 1000,m 求和到sqrt(1000)*e大致等于85就可以了:
>> syms m
>> double(symsum(1000^m/gamma(m+1)^2,m,1,85))

ans =

    1.473856087100165e+026
第二个问题可以参考下面链接中的2楼:
http://bbs.matwav.com/viewthread.php?tid=860968&highlight=
另外推荐看下这个帖子:
http://forum.vibunion.com/forum-viewthread-tid-42369-extra-page%3D1%26filter%3Ddigest%26digest%3D1.html

dauphin_510 发表于 2010-8-28 21:25

哇!这个坛子太好了,谢谢楼上的指教,我先试试去,有问题在请教
页: [1]
查看完整版本: 请教2个问题,看看有没有高手