Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2013-07-02, 13:51   #1
xuchen11
初级会员
 
注册日期: 2013-07-02
帖子: 3
声望力: 0
xuchen11 正向着好的方向发展
默认 求助!类似伽玛函数 带参变量广义积分 积分结果是求极限

请各位 或版主帮个忙 我要算一个概率密度函数 而且里面还有变量 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 如果帮我搞定 可以酬谢 非常感
xuchen11 当前离线   回复时引用此帖
旧 2013-07-03, 11:08   #2
xuchen11
初级会员
 
注册日期: 2013-07-02
帖子: 3
声望力: 0
xuchen11 正向着好的方向发展
默认 回复: 求助!类似伽玛函数 带参变量广义积分 积分结果是求极限

继续问 谢谢 大家
xuchen11 当前离线   回复时引用此帖
旧 2013-07-04, 09:33   #3
xuchen11
初级会员
 
注册日期: 2013-07-02
帖子: 3
声望力: 0
xuchen11 正向着好的方向发展
默认 回复: 求助!类似伽玛函数 带参变量广义积分 积分结果是求极限

继续问 谢谢 地方地方
xuchen11 当前离线   回复时引用此帖
回复


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

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



所有时间均为北京时间。现在的时间是 09:16


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