incomplete gamma function calculation

2 次查看(过去 30 天)
Hi,
I have this equation:
gamma(5,x) = 2
how I can find the value of x?
Thanks
  2 个评论
José-Luis
José-Luis 2013-5-24
Matlab's gamma function only accepts one input argument.
Jamal Ahmad
Jamal Ahmad 2013-5-24
this is incomplete gamma function, in matlab we can write as the following:
gammainc(a,x)
a = 5 and the result of the above function is 2 I need the value of x.

请先登录,再进行评论。

采纳的回答

Sean de Wolski
Sean de Wolski 2013-5-24
编辑:Sean de Wolski 2013-5-24
I don't believe that's possible:
gammainc(5,0)
gammainc(5,1000);
it never goes near two.
More
options = optimoptions(@fminunc,'tolfun',10^-10,'tolx',10^-12);
xv = fminunc(@(x)(gammainc(5,x)-(10^-4)).^2,4,options)
%xv =15.6926
gammainc(5,xv)
% ans =
% 1.0004e-04
  7 个评论
Jamal Ahmad
Jamal Ahmad 2013-5-24
Thank you very much. I use R2012a. Now it works.
options = optimset('tolfun',10^-10,'tolx',10^-12); xv = fminunc(@(x)(gammainc(5,x)-(10^-4)).^2,4,options) gammainc(5,xv)
Jamal Ahmad
Jamal Ahmad 2013-5-24
now I have this warning:
Warning: Gradient must be provided for trust-region algorithm; using line-search algorithm instead. > In fminunc at 367 In test_2 at 12

请先登录,再进行评论。

更多回答(2 个)

Walter Roberson
Walter Roberson 2013-5-24
It appears to me that you will need to proceed numerically.

Matt J
Matt J 2013-5-24
xv = fzero(@(z) gammainc(5,z.^2)- 2 , sqrt(xguess)).^2;

类别

Help CenterFile Exchange 中查找有关 Gamma Functions 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by