类似伽玛函数 带参变量广义积分 积分结果是求极限
请各位 或版主帮个忙 我要算一个概率密度函数 而且里面还有变量 k n ; 在给k取2 n取3 的时候 概率密度函数 f(z)积分如下 syms z; syms z; int(x^5*z^2*exp(-x*(z+1)/2)/2^7,x,0,inf) 自己手动算完的结果是 f(z)=60*z^2/(z+1)^6.经检验确实算得没错,是个概率密度函数。手动计算用了 伽玛函数的性质 伽玛(n)=(n-1)!
下面说说matlab的计算结果 请各位帮助
计算方法一:
syms z; syms z; int(x^5*z^2*exp(-x*(z+1)/2)/2^7,x,0,inf)
结果:
Definite integration: Can't determine if the integral is convergent.Need to know the sign of --> 1/2+1/2*zWill now try indefinite
??? Error using ==> sym/sym (char2sym)
integration and then take limits.limit(-1/64*z^2*(exp(-1/2*x*(1+z))*x^5+5*exp(-1/2*x*(1+z))*x^5*z+10*x^5*z^2*exp(-1/2*x*(1+z))+10*exp(-1/2*x*(1+z))*x^5*z^3+5*exp(-1/2*x*(1+z))*x^5*z^4+exp(-1/2*x*(1+z))*x^5*z^5+10*exp(-1/2*x*(1+z))*x^4+40*exp(-1/2*x*(1+z))*x^4*z+60*exp(-1/2*x*(1+z))*x^4*z^2+40*exp(-1/2*x*(1+z))*x^4*z^3+10*exp(-1/2*x*(1+z))*x^4*z^4+80*exp(-1/2*x*(1+z))*x^3+240*exp(-1/2*x*(1+z))*x^3*z+240*exp(-1/2*x*(1+z))*x^3*z^2+80*exp(-1/2*x*(1+z))*x^3*z^3+480*exp(-1/2*x*(1+z))*x^2+960*exp(-1/2*x*(1+z))*x^2*z+480*exp(-1/2*x*(1+z))*x^2*z^2+1920*exp(-1/2*x*(1+z))*x+1920*exp(-1/2*x*(1+z))*x*z+3840*exp(-1/2*x*(1+z))-3840)/(1+z)^6,x = inf) is not a valid symbolic expression.
Error in ==> D:\MATLAB6p5\toolbox\symbolic\@sym\sym.m
On line 92 ==> S = char2sym(x);
Error in ==> D:\MATLAB6p5\toolbox\symbolic\@sym\maple.m
On line 81 ==> result = sym(result);
Error in ==> D:\MATLAB6p5\toolbox\symbolic\@sym\int.m
On line 51 ==> r = maple('map','int',f,[x.s '=' a.s '..' b.s]);
这里提示错误 在积分过程中 被积函数中 z^2 没有用 因此 我把它去掉 再来计算:
计算方法二:
syms z; syms z; int(x^5*exp(-x*(z+1)/2)/2^7,x,0,inf)
结果
ans =
limit(-1/64*(exp(-1/2*x*(1+z))*x^5+5*exp(-1/2*x*(1+z))*x^5*z+10*exp(-1/2*x*(1+z))*x^5*z^2+10*exp(-1/2*x*(1+z))*x^5*z^3+5*exp(-1/2*x*(1+z))*x^5*z^4+exp(-1/2*x*(1+z))*x^5*z^5+10*exp(-1/2*x*(1+z))*x^4+40*exp(-1/2*x*(1+z))*x^4*z+60*exp(-1/2*x*(1+z))*x^4*z^2+40*exp(-1/2*x*(1+z))*x^4*z^3+10*exp(-1/2*x*(1+z))*x^4*z^4+80*exp(-1/2*x*(1+z))*x^3+240*exp(-1/2*x*(1+z))*x^3*z+240*exp(-1/2*x*(1+z))*x^3*z^2+80*exp(-1/2*x*(1+z))*x^3*z^3+480*exp(-1/2*x*(1+z))*x^2+960*exp(-1/2*x*(1+z))*x^2*z+480*exp(-1/2*x*(1+z))*x^2*z^2+1920*exp(-1/2*x*(1+z))*x+1920*exp(-1/2*x*(1+z))*x*z+3840*exp(-1/2*x*(1+z))-3840)/(1+z)^6,x = inf)
是个极限形式 因此我求了极限
>> syms z;limit(-1/64*(exp(-1/2*x*(1+z))*x^5+5*exp(-1/2*x*(1+z))*x^5*z+10*exp(-1/2*x*(1+z))*x^5*z^2+10*exp(-1/2*x*(1+z))*x^5*z^3+5*exp(-1/2*x*(1+z))*x^5*z^4+exp(-1/2*x*(1+z))*x^5*z^5+10*exp(-1/2*x*(1+z))*x^4+40*exp(-1/2*x*(1+z))*x^4*z+60*exp(-1/2*x*(1+z))*x^4*z^2+40*exp(-1/2*x*(1+z))*x^4*z^3+10*exp(-1/2*x*(1+z))*x^4*z^4+80*exp(-1/2*x*(1+z))*x^3+240*exp(-1/2*x*(1+z))*x^3*z+240*exp(-1/2*x*(1+z))*x^3*z^2+80*exp(-1/2*x*(1+z))*x^3*z^3+480*exp(-1/2*x*(1+z))*x^2+960*exp(-1/2*x*(1+z))*x^2*z+480*exp(-1/2*x*(1+z))*x^2*z^2+1920*exp(-1/2*x*(1+z))*x+1920*exp(-1/2*x*(1+z))*x*z+3840*exp(-1/2*x*(1+z))-3840)/(1+z)^6,x,inf)
结果:
ans =
limit((-1/64*exp(-1/2*x*(1+z))*x^5-5/64*exp(-1/2*x*(1+z))*x^5*z-5/32*exp(-1/2*x*(1+z))*x^5*z^2-5/32*exp(-1/2*x*(1+z))*x^5*z^3-5/64*exp(-1/2*x*(1+z))*x^5*z^4-1/64*exp(-1/2*x*(1+z))*x^5*z^5-5/32*exp(-1/2*x*(1+z))*x^4-5/8*exp(-1/2*x*(1+z))*x^4*z-15/16*exp(-1/2*x*(1+z))*x^4*z^2-5/8*exp(-1/2*x*(1+z))*x^4*z^3-5/32*exp(-1/2*x*(1+z))*x^4*z^4-5/4*exp(-1/2*x*(1+z))*x^3-15/4*exp(-1/2*x*(1+z))*x^3*z-15/4*exp(-1/2*x*(1+z))*x^3*z^2-5/4*exp(-1/2*x*(1+z))*x^3*z^3-15/2*exp(-1/2*x*(1+z))*x^2-15*exp(-1/2*x*(1+z))*x^2*z-15/2*exp(-1/2*x*(1+z))*x^2*z^2-30*exp(-1/2*x*(1+z))*x-30*exp(-1/2*x*(1+z))*x*z-60*exp(-1/2*x*(1+z))+60)/(1+z)^6,x = inf)
事实上这个结果是对的 只是matlab 还是没有真正的求极限 这个结果的表达式虽然长 ,但是前面那些求和项都是零 和我手动自己算的结果是一致的。
看上去 手动算还要快一些 问题是 我要求 更一般的情况 怎么样能让matlab直接出最终结果 而不是极限式子呢。
例如我想求 k=4 n=3这种情况下的密度函数 f(z) 其积分形式为syms x; syms z; int(x^5*z^2*exp(-x*(z+1)/2)*2^(-8)*12*(-1/8*z^2*x^2*exp(-1/2*z*x)-1/2*z*x*exp(-1/2*z*x)-exp(-1/2*z*x)+1/8*x^2*exp(-1/2*x)+1/2*x*exp(-1/2*x)+exp(-1/2*x))^2,x,0,inf) 这个式子我没写错。然后matlab 也计算出结果了 我手动算得结果 是12项关于z的函数求和。 但是matlab算出了 非常非常长 带极限的式子 我脑袋都大了 请大家帮帮忙 应该怎么办 谢谢了! 我Q 203零3662 如果帮我搞定 可以酬谢 非常感谢