hypergeom (kummer function) mupadmex error

2 次查看(过去 30 天)
Hi guys,
I calibrate a model and use kummer hypergeometric function to calculate the option price. The problem is that when I use hypergeom function of Matlab, it returns error for some values:
Error using mupadmex
Internal error with symbolic engine. Please quit and restart MATLAB.
Error in sym/hypergeom (line 1084)
hSym = mupadmex('symobj::map', args{1}.s, 'symobj::hypergeom',...
Error in hypergeom (line 35)
h = double(hypergeom(n,d,sym(z)));
Error in momentum (line 3)
x=hypergeom(p+nu+1,nu+1,alpha/2);
Error in Putprice (line 47)
Def=1-exp(-integral(bfunc,0,T))*(x^2/tau)^(1/(2*abs(beta)))*momentum(-1/(2*abs(beta)),delta,x^2/tau);
Error in LSQDiff (line 12)
Diff(:,i)= mktprice(:,i)-Putprice(S,K,T(i),x(1),x(2));
When I use kummer function, that was written by other authors and uploaded to the mathworks, the function is working. But for some other values it hangs.
I cannot combine these two functions and donot know the source of the error. Can anybody help with this mupadmex error?
Thanks.
  2 个评论
Walter Roberson
Walter Roberson 2013-7-7
Do you have an estimate for the order of magnitude the hypergeom would reach? I have seen signs that mupad might exit like that if it tried to calculate a number much larger than it's limits (something like 10^10000)
Daniel
Daniel 2013-7-7
编辑:Daniel 2013-7-7
It starts from 8.5340e+132 and converges to 597.9375 Now I'm using genHyper function written by Ben Barrowes
It returns the following mistake:
error in ipremax--did not find maximum exponent
Error using genHyper>ipremax (line 1721)
stop encountered in original fortran code

请先登录,再进行评论。

回答(0 个)

类别

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

Community Treasure Hunt

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

Start Hunting!

Translated by